Creating Visual FoxPro Components
Using Dataodyssey Express you can create the following Visual FoxPro components:
Besides, you can create reports from Excel worksheets.
All the components you create are automatically visible to all Dataodyssey Express users. Relevance verification, client-side retrieval and compilation are performed when:
Dataodyssey Express starts;
the component list is opened;
the component list is closed.
To create and edit Visual FoxPro components click \Space\VFP components (functions, classes, forms, reports, ...) on the drop-down menu.
The tool has an explorer look.
All the components are grouped in projects. The tree of destinations, projects and component types is located on the left.
To create a new component click and select a component type from the drop-down menu:
After that a component type-dependent property window will appear. Before that the program will open the project request form used to select a project. Specifying a project is compulsory for any component.
Procedures and functions
Procedures and functions are usually written to be launched from event handlers and other components. Though writing big programs is also possible. For a procedure/function the following properties are filled:
Click Ok and the Visual FoxPro editor window will appear. There is no need to explain to a Visual FoxPro developer how to use it.
After compilation (when launching Dataodyssey Express or opening and closing the components list) the program creates the EV_UDF_Functions.prg file and enroll all procedure/function codes in it. The names will begin with EUDF_. Dataodyssey Express will then compile this file and add it to "Set Procedure to EV_UDF_Functions Additive" references. Thereby these functions and procedures can be opened from any location of the program.
Visual FoxPro visual classes
It will be necessary to fill the following properties for a new class:
The class can be placed in one of existing libraries or in a new one. The libraries of the Visual FoxPro component list are displayed full.
You can make parent a Visual FoxPro base class or an existing component class.
To edit an existing class you should select its library in the component list and click . The Visual FoxPro standard dialog window will appear for selecting a library class.
Visual FoxPro forms
Unlike other components for creating and editing forms Dataodyssey Express is launched from Visual Fox Pro 9.0. Run Visual FoxPro. Execute SET DEFAULT TO dataodyssey_path, where dataodyssey_path stands for the location of Dataodyssey Express program directory that is usually C:\Program Files\Dataodyssey_Express. Then execute Do DataOdyssey.exe.
The following properties should be filled for a new form:
You can use an already created Visual FoxPro component as a base class.
Visual FoxPro report forms
It is required to fill the following properties for a Visual FoxPro new report form:
Excel report form
Specify the following properties for a new Excel form:
The methods of creating reports on an Excel worksheet was already described. You can label the worksheet like this:
till row 300 of the A column specify the ranges:
Area=A1:G8 Header=A1:G4 PageHeader=A5:G7 Details=A8:G8 OrderBy=1,2,3 GroupBy=1,2,3
you can specify Visual FoxPro expressions between the ^ symbols in any worksheet column
select a report alias by the Select ... command
execute the DO E_EXCEL_Report WITH report_name procedure, where report_name is the report form name, for example EUDF_Test.
The program will replace all the expressions between the ^ symbols with their result.
The rows of the Details= range will be replicated in the rows of current table and replace the expression between the ^ symbols with their result.
At the end the program will sort and create groups in the resultant Excel worksheet, if you specified OrderBy= and/or GroupBy=.
You can simultaneously open several windows to edit any Visual FoxPro components. But they all should be closed before the closure of the components list that they are bound to.
To save a function code or any other Visual FoxPro component press Ctrl+W.