# VFP-Editors **Repository Path**: hlizard/VFP-Editors ## Basic Information - **Project Name**: VFP-Editors - **Description**: VFP Editors for SCX, VCX. MNU, PRG, and DBF files; also Table Browser and Project Manager Replacements https://github.com/ggreen86/VFP-Editors - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-10-14 - **Last Updated**: 2022-02-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VFP-Editors I wrote several tools for editing VFP forms, classes, menus, tables, and program (prg) files. Also, I wrote a global search tool, comparison tool, a table browse tool, and a library tool. These all are APP files that run inside the VFP design-time environment. To integrate them I wrote a replacement for the PJX file and associated project manager and a toolbar for using in VFP Design-Time environment to make it easier to access these tools. I have added to this repository each of the zip files for each tool-set. The support zip is required for all tools -- it contains the Active-X components (two) that must be manually registered with REGEDIT32.EXE and a custom Arial TrueType font. The Active-X components are an Editor component and a spreadsheet grid component. Features included are: I think the above list covers most of the features that I added. There is also a personalization form for choosing your own color highlights and other features. Some screen shots of the editors: Form (SCX) Editor (method edit mode) (The Class VCX Editor is the same layout and can edit all classes in a single classlib): ![2021-04-12_16-03-54](https://user-images.githubusercontent.com/28057069/114871566-698f8c00-9dc7-11eb-8cf2-f3cf7ce9bb83.png) Form (SCX) Editor (property edit mode): ![2021-04-12_16-08-32](https://user-images.githubusercontent.com/28057069/114871750-9d6ab180-9dc7-11eb-9b6f-f02477b078ae.png) Menu (MNU) Editor: ![2021-04-12_16-11-31](https://user-images.githubusercontent.com/28057069/114871900-c723d880-9dc7-11eb-95b9-aef91733cfe0.png) Table Browser (showing multi-tab selection for table and selection of fields to be included in display with memo field contents displayed in editboxes): ![2021-04-16_13-44-51](https://user-images.githubusercontent.com/28057069/115063874-29f59c80-9eba-11eb-9509-8d3b81e950b8.png) Comparison Tool (showing a comparison of SCX forms): ![2021-04-15_9-25-31](https://user-images.githubusercontent.com/28057069/114876921-cb9ec000-9dcc-11eb-8a0f-d25aff375856.png) Installation Guidelines The tools are already compiled to APP files and are ready to be used. They depend on the following Active-X components: The following components are only licensed for use with these tools: Neither of the two above components are available any longer for license purchase; however, my license allows me to distribute with these tools. CodeMax v2.x source code was released and can be found on the internet; the version included here is v3.x with modifications to the source code by me for faster language parsing. CodeMax requires MSXML 4.0 min and has a dependency to the MS Visual C++ redistributable package; bbListView has a dependency to MS Visual C++ redistributable package as well. Both redistributables are included in the support zip. ax_ug.ocx is the Ultimate Grid (available as open-source on CodeProject website) packaged as an activex. Look for documentation on it on CodeProject; note that the method and event names are not exactly the same. You can use the object browser in VFP to extract the names. This also requires the MS Visual C++ redistributable package. The various versions of the MS Visual C++ redistributable packages are for each of the different active-xs. The active-x components will require manually registering them via Regsvr32.exe. First install the MS Visual C++ redistributable packages and the MSXML support (if not already installed). Then register the components. There are other ActiveX components that are used that should be available with VFP installed. These include the MS Image control, MS Image Combobox, MS RichText Editor, MS Treeview, and MS ListView controls. The custom GKKArial.ttf file is used in the editors in the search/find textboxes. It has a special space character so as to preserve spaces entered for searching (so these are not trimmed via ALLTRIM() command). The GKKConvert.fll file is another support file - place in same folder as the APP files; it is used by the Struct.vcx class (can be found on internet). You can look at the various .ISS files which are INNO Script files for the INNO Setup Installer for more information. Usage Tips The project manager replacement was written to allow for opening forms, visual classes, programs using the tools above, as well as, the normal built-in VFP editors. The first time you try to open a form, visual class, or program, it will prompt you for the app file location. Once located, it is stored. These editors do support the adding/editing/deleting of properties. The property display/sheet sheet in these two editors is the ax_ug.ocx component which gives very good visual display of the properties and the setting of values. Alot of the functionality of Thor tool has also been incorporated into these editors. Having the source code you are free to add more as needed. Code Editor Tips/Features Known Issues The visual class editor and form editor do not support deleting of objects nor the addition of objects. I began coding a replacement for the visual layout editor but it has not been finished -- it will only display. I use the standard VFP editors to do the layout and then switch to my editors for the coding. The use of the Code Peek feature will not restore the 'quick bookmark selection' bar on the right side (just to the right of the editor scrollbar). The zorder is not restored properly. You can switch tabs and back and this does restore the correct zorder. The assign and access methods are not saved when adding from the properties sheet. Somewhere I made a change that affected this saving and have not corrected it...