I can build a converter for WPF... The converter is working with Net Express... Is this ok for you?
↧
Forum Post: RE: Dialog System conversion tool
↧
Forum Post: RE: Dialog System conversion tool
Phil, We do also have a couple of partners who have developed such a DS-- Winform converter technology. I have created SI 2799251 for you with this request and I will forward it on to our Professional Services team so that they can get you in touch with the appropriate partner. Thanks.
↧
↧
Forum Post: RE: Binding Windows Form controls to a class as a data source
We are using DevExpress for our user interface and they have a few things for me to try. I'll let you know if that handles it.
↧
Forum Post: RE: An introduction to object-oriented programming for COBOL developers
If you are interested in learning more about OOP for COBOL - please consider taking a look at the following webinar series (webinar recordings also available): online.microfocus.com/OOPWebSeries
↧
Forum Post: RE: A new Visual COBOL Webinar Series is starting soon
Apologies for the delay - the videos are being uploaded as we speak. Please send me an email to melissa.burns@microfocus.com and I will send you the recording directly.
↧
↧
Forum Post: RE: Binding Windows Form controls to a class as a data source
Setting the binding through the GUI is not currently supported but you can set this up programmatically: Here is a simple example that binds the Text property of a textbox control to a string property. $set ilusing"System.Windows.Forms" class-id testwinform.Form1 is partial inherits type System.Windows.Forms.Form. working-storage section. 01 mystring string value "TEST" property. method-id NEW. procedure division. invoke self::InitializeComponent goback. end method. method-id button1_Click final private. procedure division using by value sender as object e as type System.EventArgs. invoke textBox1::DataBindings::Add(new type Binding("Text", self, "mystring")) end method. end class.
↧
Forum Post: RE: Dialog System conversion tool
Hi Phil, Yes, there are options available. Can we continue the conversation offline? A short phone call will help to understand your expectations in more detail and to point you towards feasible solutions. Drop me an email and we can arrange for next week. Best regards, Marco
↧
Forum Post: RE: Dialog System conversion tool
We will need to convert to Win Forms rather than WPF. Thanks just the same.
↧
Forum Post: RE: Binding Windows Form controls to a class as a data source
Thanks Chris.
↧
↧
Forum Post: Can't add existing form to project
I'm unable to add an existing form to my project (Windows Form) that I previously exclude? The form appears in the project - but it is only the code and not the GUI part? Any suggestions much appreciated
↧
Forum Post: RE: Can't add existing form to project
Hi Rico, There should be two files associated with the Form, one with formname.cbl and one with formname.Designer.cbl. Both need to be present when you add them to the project. If you double-click on the formname.cbl and it only shows the source code then you need to open it in design view. Right-click on its name in solution explorer and select View Designer to open up the GUI representation. Thanks.
↧
Forum Post: RE: Can't add existing form to project
Hi Chris, I appreciate what you are saying and agree that is how it should be, however when I exclude a form from a project and then add it as an existing item - the form loads in the project but with the icon next to it changed to a code class and not a form class. When I right-click on the form I'm not given the option of view code & view designer, only the options that are given for the main.cbl? Regards Nigel P Richardson
↧
Forum Post: RE: Visual COBOL Personal Edition - how to write out a MS-Word document
Are you looking to do this in native code or managed code? MS Word is accessible through a COM class in native code or through an interop class under .NET. Both allow you to create documents programatically. The following is an example which is provided with Net Express for creating a Word document from a native COBOL application using COM: * This is required for OLE applications $set ooctrl(+P) **************************************************************** * Copyright (C) 1997-1999 Micro Focus International Ltd. * All Rights Reserved. **************************************************************** * The program demonstrates the use of OLE Automation to * * send messages to objects in another application. This * * example uses Microsoft Word. * * * * It also demonstrates exception handling with regard to OLE * * objects, and the OLE support timeout method. * * * * The Word interface is documented in the file vbawrd8.hlp * * shipped with Microsoft Word 97 and vbawrd9.chm shipped * * with Microsoft Word 2000. * * * * REQUIREMENTS: Microsoft Word 97 or above needs to be * * installed. * * * * $(#) V1.0 * **************************************************************** program-id. worddemo. class-control. * Native Object COBOL classes olesup is class "olesup" * OLE support class * OLE automation classes wordapp is class "$OLE$word.application" . working-storage section. 01 wordServer object reference value null. 01 theDocument object reference value null. 01 theDocuments object reference value null. 01 theSelection object reference value null. 01 theFind object reference value null. 01 theParagraph object reference value null. 01 theParagraphs object reference value null. 01 theRange object reference value null. 01 found pic s9(9) comp-5. procedure division. * Set the timeout for the OLE "busy" error to 100ms * Using this method is recommended for Word applications invoke olesup "setOLEBusyTimeout" using by value 100 * Create an instance of Word invoke wordapp "new" returning wordServer * Make it visible invoke wordServer "SetVisible" using by value 1 * Get the Word documents collection object invoke wordServer "getDocuments" returning theDocuments * Create a new document. The Template and NewTemplate * parameters for this method are optional invoke theDocuments "add" * We no longer need the Documents collection invoke theDocuments "finalize" returning theDocuments * Get the current selection invoke wordServer "getSelection" returning theSelection * Insert some lines of text in the new document invoke theSelection "InsertAfter" using "This is a test line" & x"0d" invoke theSelection "InsertAfter" using "This is the third line" & x"0d" * Finished with the selection object invoke theSelection "finalize" returning theSelection * Oops - we've put "third" instead of "second" * So, we'll replace that word. This is a bit convoluted, * but it's intended to give an idea of how collections work * Get the active document invoke wordServer "getActiveDocument" returning theDocument * Get the Paragraphs collection, then the second paragraph * using the item method, then the range of that paragraph; * Once we have the range, we've finished with paragraphs! * This does *exactly* the same as the VB command * Range = Document.Paragraphs(2).Range invoke theDocument "getParagraphs" returning theParagraphs invoke theParagraphs "item" using by value 2 returning theParagraph invoke theParagraph "getRange" returning theRange invoke theParagraph "finalize" returning theParagraph invoke theParagraphs "finalize" returning theParagraphs * Get the Find object and ask it to find the text "third" * This should change theRange object's character range invoke theRange "getFind" returning theFind invoke theFind "setForward" using by value 1 invoke theFind "setText" using by content z"third" invoke theFind "execute" invoke theFind "getFound" returning found invoke theFind "finalize" returning theFind if found not = 0 * Select our new range of characters invoke theRange "select" * Finally, change the word to the correct word! invoke theRange "setText" using "second" end-if invoke theRange "finalize" returning theRange * Print the document out invoke theDocument "PrintOut" using by value 0 * Close it without saving it invoke theDocument "Close" using by value 0 * We've finished with the document object invoke theDocument "finalize" returning theDocument * Tell Word to quit (it won't shut down otherwise) invoke wordServer "quit" * We've now finished with the Word object invoke wordServer "finalize" returning wordServer exit program stop run. The following is a managed code .NET application that uses the Interop class: $set ilusing"System.Windows.Forms" $set ilusing"Microsoft.Office.Interop.Word" program-id. Program1 as "testnetword.Program1". data division. working-storage section. 01 winword type Microsoft.Office.Interop.Word.Application. 01 document type Document. 01 headerRange type Range. 01 footerRange type Range. 01 para1 type Paragraph. 01 para2 type Paragraph. 01 firstTable type Table. 01 myHeaderFooter type WdHeaderFooterIndex value type WdHeaderFooterIndex::wdHeaderFooterPrimary. procedure division. try * Create an instance for word app set winword to new Microsoft.Office.Interop.Word.Application * Set status for word application is to be visible or not. set winword::Visible to false * Create a missing variable for missing value declare missing as object = type System.Reflection.Missing::Value * Create a new document set document to winword::Documents::Add(by reference missing, by reference missing, by reference missing, by reference missing) * Add header into the document perform varying mysection as type Section thru document::Sections * Get the header range and add the header details. set headerRange to mysection::Headers[myHeaderFooter]::Range invoke headerRange::Fields::Add(headerRange, type WdFieldType::wdFieldPage as object, by reference missing, by reference missing) set headerRange::ParagraphFormat::Alignment to type WdParagraphAlignment::wdAlignParagraphCenter set headerRange::Font::ColorIndex to type WdColorIndex::wdBlue set headerRange::Font::Size to 10 set headerRange::Text to "Header text goes here" end-perform * Add the footers into the document perform varying wordSection as type Section thru document::Sections * Get the footer range and add the footer details. set footerRange to wordSection::Footers[myHeaderFooter]::Range set footerRange::Font::ColorIndex to type WdColorIndex::wdDarkRed set footerRange::Font::Size to 10 set footerRange::ParagraphFormat::Alignment to type WdParagraphAlignment::wdAlignParagraphCenter set footerRange::Text to "Footer text goes here" end-perform * adding text to document invoke document::Content::SetRange(0, 0) set document::Content::Text to "This is test document " & type Environment::NewLine * Add paragraph with Heading 1 style set para1 to document::Content::Paragraphs::Add(by reference missing) declare styleHeading1 as object = "Heading 1" invoke para1::Range::set_Style(by reference styleHeading1) set para1::Range::Text to "Para 1 text" invoke para1::Range::InsertParagraphAfter * Add paragraph with Heading 2 style set para2 to document::Content::Paragraphs::Add(by reference missing) declare styleHeading2 as object = "Heading 2" invoke para2::Range::set_Style(by reference styleHeading2) set para2::Range::Text to "Para 2 text" invoke para2::Range::InsertParagraphAfter * Create a 5X5 table and insert some dummy record set firstTable to document::Tables::Add(para1::Range, 5, 5, by reference missing, by reference missing) set firstTable::Borders::Enable to 1 perform varying row as type Row thru firstTable::Rows perform varying cell as type Cell thru row::Cells * Header row if cell::RowIndex = 1 set cell::Range::Text to "Column " & cell::ColumnIndex::ToString set cell::Range::Font::Bold to 1 * other format properties goes here set cell::Range::Font::Name to "verdana" set cell::Range::Font::Size to 10 * cell.Range.Font.ColorIndex = WdColorIndex.wdGray25; set cell::Shading::BackgroundPatternColor to type WdColor::wdColorGray25 * Center alignment for the Header cells set cell::VerticalAlignment to type WdCellVerticalAlignment::wdCellAlignVerticalCenter set cell::Range::ParagraphFormat::Alignment to type WdParagraphAlignment::wdAlignParagraphCenter * Data row else set cell::Range::Text to (cell::RowIndex - 2 + cell::ColumnIndex)::ToString end-if end-perform end-perform * Save the document declare filename as object = "c:\temp\temp1.docx" invoke document::SaveAs2(filename, by reference missing, by reference missing, by reference missing by reference missing, by reference missing, by reference missing, by reference missing, by reference missing by reference missing, by reference missing, by reference missing, by reference missing, by reference missing by reference missing, by reference missing, by reference missing) invoke document::Close(by reference missing, by reference missing, by reference missing) set document to null invoke winword::Quit(by reference missing, by reference missing, by reference missing) set winword to null invoke type MessageBox::Show("Document created successfully !") catch ex as type Exception invoke type MessageBox::Show(ex::Message) end-try goback. end program Program1.
↧
↧
Wiki Page: Setup aborts while installing MS Visual Studio 2012 Shell
Problem: The Visual COBOL setup aborts while it is installing MS Visual Studio 2012 Shell, and the MSI log file (dd_vs_isoshell_ date/timestamp .log) reports an issue with the installation of MS .NET Framework 4.5. Resolution: MS .NET Framework 4.5 is a requirement to install MS Visual Studio 2012, and the details of the problem are reported in the MSI log file. According to the log file, here is the command that it is trying to execute: [...] Applying execute package: netfxfullweb, action: Install, path: C:\ProgramData\Package Cache\C22163DDD7881C5E3B73E3B3CFB926A66ACAC7FE\packages\dotNetFramework\dotNetFx45_Full_setup.exe, arguments: '"C:\ProgramData\Package Cache\C22163DDD7881C5E3B73E3B3CFB926A66ACAC7FE\packages\dotNetFramework\dotNetFx45_Full_setup.exe" /q /norestart /KeepAUPaused /ChainingPackage "" ' And the command fails with the following errors: [...] Error 0x800c0005: Process returned error: 0x800c0005 [...] Error 0x800c0005: Failed to execute EXE package. [...] Error 0x800c0005: Failed to configure per-machine EXE package. The above indicates an issue to install MS .NET Framework 4.5 that was extracted from the Visual COBOL setup. To work around this issue, it is suggested downloading MS .NET Framework 4.5 from MS MSDN site and installing it before running the Visual COBOL setup again. MS .NET Framework 4.5 is available here for download.
↧
Forum Post: RE: Visual COBOL Personal Edition - how to write out a MS-Word document
It is the Native I am using Thanks very much It looks to be just what I need
↧
Forum Post: RE: A new Visual COBOL Webinar Series is starting soon
The webinars will be available on this weblink: www.microfocus.com/.../index.aspx Please register and bookmark the page. Webinar one is available and the second is currently being uploaded, will be live later today.
↧
Forum Post: RE: A new Visual COBOL Webinar Series is starting soon
OLA QUERO SIM PARTICIPAR, COMO ME REGISTRAR NA PAGINA JA FIZ MEU CADASTRO DIAS ATRAS QUAL O HORARIO PALESTRA?????
↧
↧
Forum Post: RE: A new Visual COBOL Webinar Series is starting soon
Você pode encontrar as informações em www.microfocus.com.br/.../index.aspx
↧
Forum Post: RE: A new Visual COBOL Webinar Series is starting soon
I registered for the series but have been unable to watch the videos. The link given just redirects me to a website inviting me to register (again). So how do I get to watch them?
↧
Forum Post: Select particular cell in Datagridview
I am using Visual Cobol 2.2 -1 and Visual studio 2012 Problem : How to set a particular datagridview cell active within handling a Datagridview event. The datagridview is NOT BOUND to a dataset. The Windows forms app contains several controls, one of which is the Datagridview. The Datagridview consists of 5 cols in this case. Loading the grid and validatiing / editing / redisplaying values entered is working fine. When the user enters data in the first column (or any other column of course) of a row , the program is using the 'CellEndEdit' event-method to test some values of several columns and process accordingly. ---------------------------------- code begin --------------------------------------------------- * * Method to test what to do * dg-view is the name of the datagrid method-id dg-view_CellEndEdit final private. procedure division using by value sender as object e as type System.Windows.Forms.DataGridViewCellEventArgs. * Within the method i want to set the focus to * the fourth column on the same row for example. * I have searched MSDN and tried other searches but all suggestions do not seem to work : * example of a solution i have tried with the Datagrid property 'SelectionMode' set to 'CellSelect' using designer: set hlp-row to dg-view::CurrentCellAddress::Y. set hlp-col to dg-view::CurrentCellAddress::X. * ..... Get data of the current cell and process according to hlp-col value ....... * ......For the first cell (hlp-col = 0) on the current row the following lines are coded * ......just before leaving the method ............ if hlp-col = 0 invoke dg-view::ClearSelection set dg-view::CurrentCell to dg-view::Rows[hlp-row]::Cells[hlp-col + 3] set dg-view::CurrentCell::Selected to true end-if end method. ---------------------------------- code end --------------------------------------------------- effect: whe the user leaves the first cell on row 0 , the focus will be on the second column instead of the fourth. I have verified that hlp-col = 0 by debugging.
↧