DOCUMENT:Q192301 13-AUG-1999 [foxpro] TITLE :HOWTO: Use GENHTML to Create HTML from a Visual FoxPro Screen PRODUCT :Microsoft FoxPro PROD/VER:WINDOWS:6.0 OPER/SYS: KEYWORDS: ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Visual FoxPro for Windows, version 6.0 ------------------------------------------------------------------------------- SUMMARY ======= The Genhtml.prg is a Hypertext Markup Language (HTML) generation program that ships with Visual FoxPro 6.0. When executed, the Genhtml.prg creates a text file that contains a hypertext markup language version of a form, menu, report, or table. The Genhtml.prg executes when the "Save as HTML" option is selected from the File menu. This article shows two methods of using GENHTML to create an HTML file from a Visual FoxPro form. MORE INFORMATION ================ 1. Create a program file named "Htmlscx.prg", using the following code: * Trap Status of Safety. SafetyStatus=SET('SAFETY') SET SAFETY OFF Example=CREATEOBJECT('FORM') Example.TOP=0 Example.LEFT=0 Example.NAME='EXAMPLE' Example.AUTOCENTER=.T. Example.VISIBLE=.T. Example.SCALEMODE=3 Example.HEIGHT=150 Example.WIDTH=375 Example.FontName="Courier New" Example.FontSize=10 * Add A label. Example.ADDOBJECT('Label1','Label') WITH Example.Label1 .TOP=6 .LEFT=25 .CAPTION="TextBox Control" .AUTOSIZE=.T. .FONTNAME="Courier New" .FONTSIZE=10 ENDWITH * Add a text box control. Example.ADDOBJECT('Text1','textbox') WITH Example.Text1 .TOP=24 .LEFT=25 .WIDTH=100 .HEIGHT=25 .VISIBLE=.T. .FONTNAME="Courier New" .FONTSIZE=10 ENDWITH * Add an option group control. Example.ADDOBJECT('Option1','OptionGroup') WITH Example.Option1 .TOP=24 .LEFT=250 .WIDTH=100 .HEIGHT=45 .VISIBLE=.T. .BUTTONCOUNT=2 ENDWITH * Add an edit box control. Example.ADDOBJECT('Edit1','Editbox') WITH Example.Edit1 .TOP=74 .LEFT=25 .WIDTH=100 .HEIGHT=50 .VISIBLE=.T. .FONTNAME="Courier New" .FONTSIZE=10 ENDWITH * Add a check box control. Example.ADDOBJECT('Check1','CheckBox') WITH Example.Check1 .TOP=74 .LEFT=250 .WIDTH=100 .HEIGHT=50 .VISIBLE=.T. .AUTOSIZE=.T. .CAPTION="CheckBox Control" .FONTNAME="Courier New" .FONTSIZE=10 ENDWITH * Add a command group. Example.ADDOBJECT('Command1','CommandGroup') WITH Example.Command1 .TOP=148 .LEFT=25 .WIDTH=100 .HEIGHT=45 .VISIBLE=.T. .BUTTONCOUNT=3 .AUTOSIZE=.T. ENDWITH * save the form Example.SAVEAS(STRTRAN('EXAMPLE','DBF','SCX')) RELEASE WINDOW Example FLUSH MODI FORM (STRTRAN('EXAMPLE','DBF','SCX')) NOWAIT SAVE CLOSE ALL * Generate the HTML from the form file. DO (_GENHTML) WITH "EXAMPLEA","EXAMPLE.SCX" CLOSE ALL * Instantiate another form Example=CREATEOBJECT('MYFORM') Example.SHOW * Generate HTML from the form DO (_GENHTML) WITH "EXAMPLEB",Example PUBLIC ohyperlinkobject * Create a form with a hyperlink to the sample file ohyperlinkobject=NEWOBJECT('hyperform',HOME()+"ffc\_hyperlink.vcx") ohyperlinkobject.SHOW SET SAFETY &SafetyStatus DEFINE CLASS MYFORM AS FORM TOP = 0 LEFT = 0 NAME = 'EXAMPLE' AUTOCENTER = .T. VISIBLE = .T. SCALEMODE = 3 HEIGHT = 206 WIDTH = 405 FONTNAME = "Courier New" FONTSIZE = 10 ADD OBJECT 'Label1' AS 'Label' WITH ; TOP=6, ; LEFT=25, ; CAPTION="Label", ; AUTOSIZE=.T., ; FONTNAME="Courier New", ; FONTSIZE=10 ADD OBJECT 'Text1' AS 'textbox' WITH ; TOP=24, ; LEFT=25, ; WIDTH=100, ; HEIGHT=25, ; VISIBLE=.T., ; FONTNAME="Courier New", ; FONTSIZE=10 ADD OBJECT 'Option1' AS 'OptionGroup' WITH ; TOP=24, ; LEFT=250, ; WIDTH=100, ; HEIGHT=45, ; VISIBLE=.T., ; BUTTONCOUNT=2 ADD OBJECT 'Edit1' AS 'Editbox' WITH ; TOP=74, ; LEFT=25, ; WIDTH=100, ; HEIGHT=50, ; VISIBLE=.T., ; FONTNAME="Courier New", ; FONTSIZE=10 ADD OBJECT 'Check1' AS 'CheckBox' WITH ; TOP=74, ; LEFT=250, ; WIDTH=100, ; HEIGHT=50, ; VISIBLE=.T., ; AUTOSIZE=.T., ; CAPTION="CheckBox Control", ; FONTNAME="Courier New", ; FONTSIZE=10 ADD OBJECT 'Command1' AS 'CommandGroup' WITH ; TOP=148, ; LEFT=25, ; WIDTH=100, ; HEIGHT=45, ; VISIBLE=.T., ; BUTTONCOUNT=3, ; AUTOSIZE=.T. ENDDEFINE DEFINE CLASS hyperform AS FORM TOP = 0 LEFT = 0 HEIGHT = 100 WIDTH = 250 DOCREATE = .T. CAPTION = "Display Example Screens" NAME = "Form1" SHOWTIPS = .T. ADD OBJECT _hyperlinklabel1 AS _hyperlinklabel WITH ; LEFT = 25, ; TOP = 10, ; HEIGHT = 25, ; VISIBLE = .T., ; FONTNAME = "Times New Roman", ; FONTSIZE = 14, ; FONTITALIC = .T., ; AUTOSIZE = .T., ; ctarget = sys(5)+sys(2003)+"\EXAMPLEA.HTM", ; CAPTION = "Example Screen A", ; lnewwindow = .T., ; NAME = "_HYPERLINKLABEL1" ADD OBJECT _hyperlinklabel2 AS _hyperlinklabel WITH ; LEFT = 25, ; TOP = 60, ; HEIGHT = 25, ; VISIBLE = .T., ; FONTNAME = "Times New Roman", ; FONTSIZE = 14, ; FONTITALIC = .T., ; AUTOSIZE = .T., ; ctarget = sys(5)+sys(2003)+"\EXAMPLEB.HTM", ; CAPTION = "Example Screen B", ; lnewwindow = .T., ; NAME = "_HYPERLINKLABEL2" ENDDEFINE 2. When the Form captioned "Display Example Screens" appears, click the hyperlink labels to launch the Internet Browser and display the HTML generated by GENHTML. Please note that some controls, such as the option group, check box, list box, command buttons and spinners may not look or function as they would in Visual FoxPro. If you use a proportional font in the form, then some controls may overlap others when displayed in the Internet Browser. To provide functionality to these controls, you need to add Visual Basic or JavaScript code. REFERENCES ========== Visual FoxPro 6.0 Books Online: Programmer's Guide; Chapter 13 Compiling an Application. For additional information, please see the following article in the Microsoft Knowledge Base: Q185657 HOWTO: Utilize the Hyperlink Foundation Class (c) Microsoft Corporation 1998. All Rights Reserved. Contributions by John Desch, Microsoft Corporation. Additional query words: kbVFp kbhtml kbXBase kbMiscTools ====================================================================== Keywords : Technology : kbVFPsearch kbAudDeveloper kbVFP600 Version : WINDOWS:6.0 Issue type : kbhowto ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 1999.