Database development and training for Birmingham and the midlands
Specialists in Microsoft Access and Visual Foxpro database training and development
I am happy to hear from existing clients but I am taking no new calls.
Using FoxPro commands to generate HTML
HTML is just text and FoxPro has always been very good at manipulating text. Generating the HTML on your own PC gives you a static document on the web but that's sometimes all that the user needs. There are four easy of generating HTML from FoxPro:
- The Web Page Wizard
- The GenHTML utility
- TextMerge commands
- The StrToFile() function
- The FoxPro Editor
Web Page Wizard
This is more useful than most wizards and creates a table of data on a web page from a VFP table or cursor. The wizard generates an HTML file but can also generate a prg file that will recreate that web page from a later version of the table. This generated program uses GenHTML and creates and uses a new entry in the GenHTML table.
The 'Save as HTML' option on the File menu calls the generator program specified by system variable _GENHTML. This is usually GenHTML.Prg but you can write your own utility if you want to improve it. GenHTML.Prg can be added to your project and distributed in an executable.
The simple syntax is:
You can extend the power of GenHTML by referring to two FoxPro Foundation Classes and a table of styles:
These too can be distributed in your application.
TextMerge is a tool that dates from FoxPro version 2.00 where we used it to create reports. TextMerge produces a pure ASCII output to a text file and the only way to get special effects in these reports was to embed printer control codes in the text. The Report Writer made life so much easier that TextMerge is little used now.
The output from TextMerge can be a mixture of text literals, the contents of fields or memory variables, and the result of VFP functions. This flexibility means that the TextMerge commands have become useful again as powerful tools for generating a web page from FoxPro data.
More details on TextMerge here.
StrToFile is a new function introduced with VFP 5. It takes a string variable and writes it into a text file. You have the option of creating a new file, overwriting an existing file, or adding text to the end of an existing file.
The StrToFile function returns the number of bytes written so you can check this value to ensure that your file has actually been created. The VFP 7 version of StrToFile (and its partner FileToStr) opens the file in Shared mode to reduce the risk of conflict
*-- Start the string with a heading for the page
lcHTML = '<h1>Customer List</h1>'
*-- Now append 'Company' and the company name for each record
lcHTML = lcHTML + '<br>Company '
lcHTML = lcHTML + ALLTRIM (Company)
*-- And send it to a file
=StrToFile (lcHTML, 'Customer.htm')
Don't forget that FoxPro has a good text editor built into it that's much better than Notepad as a basic tool for writing HTML. Think of all these advantages:
- Multiple levels of Undo.
- Drag and Drop.
- Automatic indenting.
Intellisense which can be
so that typing PP gives you the opening and closing paragraph tags
and puts the cursor between them:
- Global search and replace across all pages using Code References on the Tools menu.
- Write simple FoxPro programs to write and manipulate your HTML files.