Visual FoxPro
 

Home
Mission
News
Blog
Tools
FAQ
Publications
Downloads
Contact
Contents

 

Utilities from the Problem Solver

.NET Visual FoxPro FoxPro 2.6

 

FoxWiki CHM file

The best thing to happen to Visual FoxPro since baked bread and GenScrnX. Thanks to Steven Black.

Download FoxProWiki.chm, (March 1st, 2004, 14 Mb CHM file)

 

Debugging COM servers under XP

This code is a replacement for the code in the Developing and Debugging Visual FoxPro COM servers article. This code makes use if the Windows Running Object Table so we can de a GetObject() to reach the required object. Thanks to Christian Ehlscheid for showing me this approach.

 

Download source_xp.zip (89 Kb ZIP file)

 

Parse Locals

ParseLocals is a Visual FoxPro source code parser that is designed to detect omissions in variable declarations. It will detect variables that are declared in a function or method but that appear not to be assigned any value and it will detect variables that are assigned a value but are not declared.

The main reason for writing this parser is to combat the subtle effects that may be caused by forgetting to declare variables as local resulting in the default private declaration and the possibility that they are changes in another function.

I have been using this for quite a while now and believe that, even though it isn’t perfect, it is good enough to release. If you find any syntax that is misses please let me know so I can update the parser.

 

Update 7 Feb. 2007. Thanks to Kurt Graßl, Peter Crabtree and others for the changes.

Download ParseLocals.zip (9 Kb ZIP file)

 

"VFP-Frame" application framework

VFP-Frame is a shareware Object Oriented Application Framework for use with Visual FoxPro. This framework was designed and build by Maurice de Beijer after studying several C++ frameworks and design patterns. Partial source code, a demonstration application and a 60+page manual / reference guide are included. This framework has been tested, and works without change, with Visual FoxPro 3, 5 and 6.

 

I have sold VFP-Frame to a company called FairTree and it is now called FairFrame. To download the latest version visit their web site.

 

Pick List

This generic pick list can be used both inside VFP-Frame and outside it. It use the DBC to check if the passed control source is used as a foreign key in a relation and if so creates a cursor of the possible records from the main table. It doesn't matter if the relation if set to ignore, cascade or restrict. It does need a relation between an index tag on the passed control source, not on some function containing it. If the main key is filtered this filter will be used in the creation of the cursor of possible records. The key value is always added to the cursor as __PK__ but the standard pick list form always set this column to 0 pixels wide. To allow the user easy searching the pick list will filter on any character field where the user types any data. Freeware, all feedback will be appreciated.

Download PickList.zip (48 Kb ZIP file)

 

Logger

This zip file contains a routine that allows you to log all changes in one or more tables in a database. A second procedure is included to allow you to do a rollback of changes made to a database. To be able to do a reliable rollback all tables should be logged. Freeware, all feedback will be appreciated.

Download Logger.zip (5 Kb ZIP file)

 

Resizer

This zip file containes a class to make forms resizable and allow the developer to configure each control to react as specified. The vertical and horizontal actions are specified independenlty. Possible horizontal actions are to anchor to the Left, Centre and Right or Resize. Possible vertical actions are to anchor to the the Top, Center, Bottom or Resize.

Updated to look more like the window resize control.

DownloadResizer.zip (8 Kb ZIP file)

 

Html Merge

This zip file containes a class to allow you merge a cursor with an HTML template document. The merge class will try to locate a repeating segment in the HTML template and repeat this for every cursor in the current alias. A repeating segment can be a table, a bulleted list or a numbered list. In the case of a table the block from the last header <TH> element to the end of the table </TABLE> element. In the case if either a numbered or bulleted list the repeating block is everything from the first list element <LI> to the end of the list element </UL> or </OL>. You can embed Visual FoxPro expressions by placing them between <%= and %> markers. Everything between the markers is evaluated and the result is substituted in its place.

Updated may 17, 2000

Added a check for a NoScan attribute in a table or list tag so a template can contain a header table which is ignored during the scan action. Added new templates to demonstrate this capability.

Download HtmMerge.zip (32 Kb ZIP file)

 

FAQ Sheet source

This zip file contains programs developed by Maurice de Beijer to generate the faq sheet on my web site. It uses the HtmlMerge utility to merge a HTML template (tmpl_faq.html) with a Visual FoxPro table (FaqData.dbf) resulting in faq.html. The template html document also contains the javascript code needed to show or hide the items as needed.

Download FaqSource.zip (17 Kb ZIP file)

 

Coverage anayzer

This zip file contains a program developed by Maurice de Beijer to allow you analyze a coverage log file. Instead of looking at the total time for each statement, as most utilities do, this utility calculates the actual time a statement took. That means that the time doesn't include the time spent by code that is the result of the statement. The result is that you can see the cost of a ThisForm.Refresh() with all the code that is executed in the Refresh events.

I use this as an addition, not a replacement, for the other ways of analyzing a coverage log file. I have found it very useful when optimizing common small routines that are called from a lot of different places, making it difficult to see the total amount of time spend in the routine. It has also enabled me to identify some "problems techniques" in Visual FoxPro that appeared to be perfectly reasonable but turned out to be slow.

Download cover.zip, (2k ZIP file)

 

Back to Top

 

 

Send mail to webmaster@TheProblemSolver.nl with questions or comments about this web site.
Copyright © 1995 - 2007 ABL - The Problem Solver
Last modified: 02/07/07
WF
RSS 2.0