GLR
 Software web site
10/8/2008
Visitor: 80790


 Home
 LifeCycle utilities
     Build
     FUnit

 Consulting Services
 Web Site Development
 Careers

 Articles
 Links & Resources
 Tips and Tricks
 User Comments

 Free Downloads

 About Us
 Pictures
 My Blog
 Contact Information
 Email Us
 Fun Stuff
 Email a Friend
 Google Analytics

 Add to Favorites
 Printer Friendly

  Updated since last visited.
 Now viewable in:
Microsoft IE ® 5.0+
Netscape ® 7.0+
Opera ® 7.54+
Mozilla FireFox ® 1.0+

Fox with Sheep


Downloads


If you have any freeware type of downloadable products that you would like GLR software to host, please Email the product to us as an attachment, with a short description.

If you have any problems downloading the file you desire, please email me at Greg@GLRsoftware.com and I will send you the file via email. Please include the title of the file(s) you attempted to download. Also, if possible, include the nature of the problem.

Thank you.


Sort by:

Application

FUnit - Unit Testing in VFP
DL: 595 Size: 96 K Updated: 8/22/2007       Author: Gregory Reichert

FUnit is a NUnit like utility for Unit Testing FoxPro applications. The developer write the test cases in the method that will be tested. The FUnit utility scans the application object modal searching for the test cases. Once found, they are extracted and executed. In addition, Code Coverage can be done as the tests are being executed. Therefore you can see what lines are being tested.

View the entire documentation on line at the FUnit - Unit Testing page.




LifeCycle - Build Phase - 1.01.01 bld 544
DL: 989 Size: 2474 K Updated: 1/12/2006 5.0  Author: Gregory L Reichert

The purpose of LifeCycle - Build Phase utility is to provide a central application to automated as much of the built process as possible without have to clone code, or replicate the procedure for different projects. It also provides the means to schedule automated builds for daily builds.

Overview

During any development cycle there is point when a project needs to be built into executables. There are different kinds of builds that can take place; the standard build done by the developer to build a local copy of the executables, the Debug or Test Build for the Testers, the Production Build to be distributed to the customers, and possibly many more other types between these builds. The purpose of LifeCycle – Build Phase utility is to provide a single place where all these different types of building processes can be created, maintained, and executed.

LifeCycle - Build Phase utility allows the developer and/or build manager to automate if not all, then most, of the tasks involved in building the pieces to run-time applications. The utility provides a list of all the projects in the overall project, and displays them in hierarchical listing based on dependency. But the main feature of the utility is the Build Styles. Each style is related to a list of Task steps, called the Build Script. The Scripts are performed during the build’s run process. Each of these tasks is a separate entity, which can be either added or removed from the build script at design-time. The build script tasks are creating as standard VFP Class Methods. No special PEM are required to identify the method as a build task, just a few extra comment line are required.

The LifeCycle – Build Phase Light version has a few limitations over the registered Professional version. But these limitation can be removed when the user purchase the Authentication Code that transforms the Light version into the full feature Professional version.

Click here to read more detailed information about LifeCycle – Build Phase.

Installation Instructions

1. Download the self-extracting ZIP file called lcBuild.exe from GLR software web site.
2. Execute the self-extracting ZIP file.
3. Accept all default settings.
4. Open any version of Visual FoxPro of version 6.0 or greater.
5. Change directory to C:\LifeCycle.
6. Perform "DO Demo"
7. When the Authentication Code dialog appears, click the "Skip" button.
8. Then you are in.

Versions

This is the finished release version of the LifeCycle - Build Phase utility version 1.0. If you downloaded the previous Beta version, please delete it before installing this version. Many features and construction of the utility has changed since the Beta release.

Build History

1.01.01 : (08/26/2005) : Build 544

  • Slight refactoring of code to enhance startup speed and performance.
  • Minor bug fixes.
1.01.00 : (08/22/2005) : Build 540
  • Loads and runs in VFP 6.0 correctly without C0000005 error.
  • Correctly assigns valid value to MousePointer properties.
  • Other minor adjustments.
1.00.00 : (08/17/2005) : Initial release - build 535

Please send any comments, suggestion, or bug issues to LifeCycle@GLRsoftware.com




Class Libraries - Application Level

Encapsulate FoxPro and Window function into a single class
DL: 549 Size: 29 K Updated: 9/8/2006       Author: Gregory Reichert

This class encapsulates many of the VFP functions (SYS(), SET(), HOME(), etc) and several windows API and WMI procedures into a single set of classes. Thsi allows for easier access to these functions and increases the readability of the code.

This class is a updated release of the class called "Encapsulates the SYS() and SET() function as methods." I am releasing this version as aseperate download do to fact that I reaganged the methods into logical grouping, for better readability and access.




AppStart - Auto-Update Application Starter
DL: 4209 Size: 144 K Updated: 2/8/2007 4.0  Author: Gregory L. Reichert
The purpose of this application is insure that the local copy of the application, and it dependent files, are always up to date. The remote copies of the application can be located either on LAN/WAN server, HTTP web server, a FTP site, or even an Email attachment. In addition, the AppStart can install a local copy of the entire application with only two local files present (with VFP run-time).


AuthCode - Authentication Code- ver. 2.02
DL: 3208 Size: 87 K Updated: 6/15/2006 4.0  Author: Gregory L. Reichert
AuthCode, or Authentication Code, is an add-on form that makes the application into an evaluation copy type. The user can use the application until either an expiration date or count runs out, or they have registered it by entering an authentication code. At which time the application will stop asking for the code, and expiration is removed.

What's New in 2.0

More ways to generate the unique user code

  • Hard Drive Volume Number
  • Motherboard Serial Number
  • User and Machine name
  • Current Domain Name
  • Company Name
  • Logged On Server name
  • User name only
  • Computer name
  • Network Card Number

12/19/2005
Included NameValue.prg in the zip file.

06/09/2006
Included missing files from the West Wind XMl class.




Encapsulates the SYS() and SET() function as methods.
DL: 1239 Size: 13 K Updated: 12/21/2005 4.0  Author: Gregory L. Reichert
This object encapsulates the SYS() and SET() functions in methods of a class. This allows the developer to use these function by named instead of sum number. Plus it provides more readability of the source code.

I throw this class together because I was struck by a wish from the VFP ver 10 Wish List at http://fox.wikis.com/wc.dll?Wiki~VFPVersion10WishList~VFP. I took the idea and extended to not only the SYS() function, but also the SET() function.

PUBLIC System        && declare variable like a NameSpace.
m.System = System()        && Create the Object

*- Get a new Unique Filename
NewFile = System.LegalFilename()

*- Set a new value and save the last old value.
OldBlockSize = System.Set.BlockSize( 10000 )
...
*- reset the last old value
System.Set.BlockSize( OldBlockSize )

12/15/2005

Included classes that encapsulate the SysMetric(), FontMetric(), Home(), and OS() functions as named methods.




Remotely terminate application across the network.
DL: 6225 Size: 25 K Updated: 3/24/2005 4.7  Author: Gregory L. Reichert
Monitor and remotely terminate running application from across the network. Great for those times you need to force users out of applications they have left running.


Shared Context Object
DL: 1869 Size: 99 K Updated: 3/24/2005       Author: Gregory Reichert
Allows two or more applications to share the same variable or context. When a variable's value is changed, all participating applications receive the same change. Therefore all participating applications act as a single application.


Task Server
DL: 2481 Size: 194 K Updated: 3/24/2005       Author: Gregory Reichert
The Task Server control allows one or more application to off load non-interactive operations to be performed externally. For example, reports can be printed in the background, either on the same machine, or on dedicated machines for printing reports. In addition, it can replace those multiple timer we place all over our applications. As an internal task server, you can push, pop, suspend, and resume timed tasks. Both internal and external tasks can be set to be preformed at a specific time and then repeat after a duration or self-remove once preformed. A call back can be established to send a notification to the client application.



Class Libraries - Control level

Add-only Editbox
DL: 1931 Size: 6 K Updated: 3/24/2005 1.1  Author: Gregory Reichert
When journal action is required with an edit box control. This object allows that only newest entries to be added and previous entries are not editable. An optional audit timestamp can be added as a divider.


Editable List box
DL: 1518 Size: 4 K Updated: 3/24/2005       Author: Unknown
From an unknown author, a listbox that can be edited directly in the list. Either double-click or press Enter to edit. If anyone knows who wrote this, email me, so I can give proper credit to the author.


Selector List
DL: 2637 Size: 29 K Updated: 3/24/2005 2.5  Author: Gregory Reichert
Place a Mover List Boxes in the area of a single List Box. In addition, the alphabetic selector is a slider bar. This aids for application being converted for touch screen implementations.


Simplest Treeview
DL: 3421 Size: 10 K Updated: 1/16/2006 5.0  Author: Gregory L. Reichert
This control is a simple treeview using the WebBrowser control and a HTML file to drive a VFP form. The tree itself is a standard html outline using the <UL>/<LI> tags. What make this the simplest, is that the only one OnClick event is established, and that is at the first (or root) <UL> tag.


Strikeout Listbox
DL: 1831 Size: 5 K Updated: 3/24/2005       Author: Gregory Reichert
Display excluded or deleted entries as strikeout entries. It helps for applications with journal styles of data entry.


Using IE control and HTML pages to drive Fox programs
DL: 3243 Size: 132 K Updated: 3/24/2005       Author: Gregory Reichert
Embed the IE control in you application and use HTML pages to control the Foxpro program.


Class Libraries - Form level

Auto resize controls on any Form
DL: 2524 Size: 8 K Updated: 4/4/2007       Author: Greg L. Reichert
This tiny control resizes controls on forms. Just drop this control on any form. Set the TAG properties of the controls you wish to resize to a combination of T,L,H,W. And place a thisform.refresh statement in the form's Resize event. That is all there is to it. Now work properly in VFP 6.0.


AutoClose form after N seconds
DL: 1887 Size: 4 K Updated: 9/9/2005       Author: Gregory L. Reichert
Automatically closes a form after N seconds of inactivity from the user. Based on Timer class.


AutoHide a Form
DL: 3149 Size: 7 K Updated: 3/24/2005 0.7  Author: Gregory Reichert
Automatically hide any form behind the VFP desktop. Pop it back out when the mouse is hovering over it. The AutoHide class can be dropped on any form to provide the ability for the form auto hide itself behind the VFP border. This is similar to autohide feature found in windows desktop toolbars.


Automated Language Translator
DL: 3158 Size: 132 K Updated: 3/24/2005 4.0  Author: Gregory L. Reichert
The Locale class automatically translates captions, tooltips, and statusbar text from one language to an alternate language with the use of the internet, then stores the translation for future use and faster translations.


Changing Colors and Styles of controls at run-time
DL: 2240 Size: 17 K Updated: 3/24/2005       Author: Gregory L. Reichert
This object, when dropped on a form, automatically sets the colors and other properties of all the controls on the form to those that match the same properties on the Style object. Set the properties value once on the Style control, and when the form is ran, and then all the controls with the same property have the same value. The only exceptions are those controls that have set the same property explicitly. Works in VFP 6.0 and greater.


Remember form position and size v.1.52
DL: 3311 Size: 31 K Updated: 9/7/2005 5.0  Author: Greg Reichert

Have your clients ever ask to have their forms remember their position and size? This neat little control does just that. Now works with VFP 9.0 Anchors. Just drop it on any form, and it will remember its position and shape. The properties are saved in the registry for each user that can log on to the workstation. Now the settings can be either stored in the registry, a network table, or the local FoxUser resource file.

1.52 - fixed mis-spelled variable name - thanks Harry Nunn.


Others

Dot
DL: 1361 Size: 52 K Updated: 3/24/2005       Author: Gregory Reichert
For those who can remember the dBase days, here is a FoxPro command prompt interrupter. It can even create and run PRGs.


Reset
DL: 1856 Size: 6 K Updated: 3/24/2005       Author: Gregory Reichert
This command is missing in Foxpro, the ultimate environment reset program.


Scan Project for Text
DL: 1493 Size: 5 K Updated: 3/24/2005       Author: Gregory Reichert
Search all files referenced in one or more projects for all existences of a text string.


ProjectHooks

Pack VCX/SCX before build.
DL: 415 Size: 2 K Updated: 9/27/2006       Author: Greg Reichert
Packs the Class Librarys and Form files before building applicaition to reduce file bloat.


Multiple ProjectHooks
DL: 1131 Size: 138 K Updated: 11/22/2006       Author: Gregory L. Reichert

Loads multiple ProjectHooks into a single project manager, and maintain each as seperate classes and class libraries. This is great for when you have separate project hook classes, and like to use them all, but do not want to spend the time combining them into a single project hook. This zip file contents the pHook projecthook, plus all the projecthook in the following list. The demo project uses some of the project hooks as examples.

New to version 1.50
Add the Project Hook Manager form.
    -   Add new Project Hooks to the list.
    -   Remove Project Hooks from the list.
    -   Disable project hooks in the list.
    -   Help screen.
New project hooks:
    -   Switch to Project Orientated TaskList table.
    -   Strip printer info from Report forms.

New to vers 1.51
pHook.vcx
- Fixed QueryNewFile.
- Recurs the Activate and Deactivate events.
- Consolidate common code.
- Add Version property
phTaskList.vcx
- Switch Tasklist when more then one PM open.
ph_Manager.scx
- minor fixes.
- Regenerate PHL file only when something changes.

The following is a list of Project Hooks I have found while looking around the web. If you like to contribute your project hook, email it to Work@GLRsoftware.com. Include your name and email address, plus a short description of the purpose of the project hook.

Thank you, Greg.

 
 



Backup file before it is opened.
DL: 1187 Size: 2 K Updated: 11/22/2006       Author: ??? Fox.wiki
Generates a backup of files before they are edited.


Change file attribute to read/write before build.
DL: 729 Size: 3 K Updated: 3/24/2005       Author: FoxPro Advisor By Tamar E. Granor, FoxPro Advisor Technical Editor, Christof Lange, FoxPro Advisor Contributing Editor, and Pamela Thalacker, FoxPro Advisor Contributing Editor
Before the build, changes all read-only files to read/write. Then after build, they are reverted back to read-only. This prevents errors during the build with files under SCC that are not checkout.


Code Commenter
DL: 482 Size: 5 K Updated: 11/22/2006       Author: Gregory L. Reichert
Set Function Keys to allow the developer to quickly insert standard comment blocks in their code. These include file, procedure headers. Reminder comments: Documentation, ToDo, BugBug, etc. Code revision comments, and more.


Create activity text log of project events
DL: 853 Size: 2 K Updated: 3/24/2005 4.0  Author: Gregory L. Reichert
Simple Project Manager log recorder to record activities performed on files in a project file.


Create ZIP backup of Project Files.
DL: 1300 Size: 67 K Updated: 11/22/2006       Author: Boudewijn Lutgerink
Generates a unique zip backup file containing all the files referenced in the project file.


Force Project Manager to be MDI
DL: 230 Size: 2 K Updated: 11/21/2006       Author: Gregory Reichert
Allows the project manager window to be moved outside the FoxPro main desktop. Suggested from a thread on the UT. Thanks.


Free DLL from IIS or PWS
DL: 726 Size: 4 K Updated: 11/22/2006       Author: Claude Fuchs (cfuchs@ActiveVFP.com)
This code will Unload the Web App on the LOCAL machine running Windows NT, Windows 2000, XP, .NET Server or cycle PWS thereby freeing any used VFP COM DLLs allowing them to be rebuilt. This code DOES work with Microsoft Personal Web Server.


Free DLL from IIS.
DL: 644 Size: 2 K Updated: 3/24/2005       Author: Trevor Hancock (trevorh@Microsoft.com)
This code will cycle IIS on the LOCAL machine running Windows NT, Windows 2000, XP or .NET Server, thereby freeing any used VFP COM DLLs allowing them to be rebuilt. This code does NOT work with Microsoft Personal Web Server.


Project Orientated TaskList
DL: 576 Size: 2 K Updated: 3/24/2005       Author: Gregory L. Reichert
When opening a Project, set the TaskList table to a local table that is orientated to the current project.


QueryCloseFile and QuerySaveFile event
DL: 596 Size: 5 K Updated: 3/24/2005       Author: Gregory L. Reichert
Long needed QueryCloseFile and QuerySaveFile events. The QueryCloseFile event is fired when an open file from the Project Manager is closed. The QuerySaveFile event is fired when an open file is closed and had been changed since it was opened.


Send Email Notification.
DL: 1142 Size: 3 K Updated: 3/24/2005       Author: ??? msdn.microsoft.com
Send an email notification project to team members when files are added, modified, or removed from the project.


Set default path to project file location.
DL: 960 Size: 2 K Updated: 3/24/2005       Author: Gregory L. Reichert
Set the current folder to the project file folder.


Stripe Printer Information from Reports
DL: 1304 Size: 3 K Updated: 4/15/2005       Author: Pete Sass
To clear printer specific information from reports in currently loaded project.


User Defined Functions

Query - Use SQL to manage various types of lists
DL: 2106 Size: 656 K Updated: 3/20/2008       Author: Gregory L. Reichert

Version 2.11

Yes, it's back.. But a new and improved version. Faster, Cleaner, and Extendable. I took a little time and rewrote the entire routine to allow the developers to add their own data drivers and cleaned up the code so I can better manage it (the first version became unmanagable.)

Query is a single function that allow you to manipulate various types of lists of data sources (Collections, Arrays, Cursor, XML data, delimitered strings, and etc) with the standard SQL statements.

Use a standard SQL statement to filter, sort, combine data sources, and then convert to a different data source. Also, with the Update, Insert, and Delete SQL statement, you can manage the lists as if they were cursors.

? Query( [SELECT * FROM Collection oColl ]+;
[WHERE left(name,1)="M" ]+;
[ORDER BY item ]+;
[INTO ARRAY laDest] )

If you are interested in see this in action, you can download a copy here and run the Demo.prg program.

2.00.0049 - Release of version 2.0
2.00.0056 - Minor fixes
2.00.0129 - Minor fixes and more drivers
2.00.0165 - New driver
2.10.0207 - Simplified driver interface, and now over 30 drivers
2.10.0208 - Loaded current drivers into the APP, but it still will look for addition external drivers in the Data_Drivers folder. This make the tool better for distibution; the drivers do not have to be distibuted in the data_drivers folder.
2.10.0249 - More drivers - 41 to count
2.11.0392 - Minor fixes and File.prg is now optionally recursive.
2.11.0475 - A few adjustments to some of the drivers, and new Windows Services driver.

Current Driver Types avaliable:
Hover mouse over blue keyword below for short definition.
Array
Class Library
Collection
CSV
Cursor
Database
Drive
Driver
Environment
Event Log
External
Field
File
FileUser
FTP
Graphic
IndexTag
INI
Keyword
ListBox
Locale
NetResource
ODBC
Path
PEM
Prg
Printer
Process
Registry
Screen
Service
Stack
String
Table
Task
UserGroups
Users
Variable
XML

I am looking for any drivers you may have developed for the Query tool. If you have one or more or even an idea for one, please contact me at Query@GLRsoftware.com. Thank you. Greg




Folder Walker
DL: 1966 Size: 1 K Updated: 3/24/2005 5.0  Author: Gregory Reichert
Walk down sub-folders and perform a routine on each folder.


Foxtools.fll replacement
DL: 2398 Size: 11 K Updated: 3/24/2005       Author: Gregory Reichert
Foxtools string functions and other useful functions written in Fox.


Multiple File Selection GetFile().
DL: 1333 Size: 4 K Updated: 6/29/2007       Author: Unknown
The GetFile() function with the ability to select more one file at a time.


Persistent Name / Value pair
DL: 922 Size: 7 K Updated: 12/19/2005 5.0  Author: Gregory L. Reichert
Save and retrieve Name / Value pairs to Registry, INI, Table, XML, FoxUser Resource file, or an array. No more wondering how to control any these mediums. One function does it all.


Read and write to registry
DL: 1433 Size: 2 K Updated: 3/24/2005       Author: Gregory L. Reichert
Read and write to the registry in a simple name / value pair fashion.


Spell Checker
DL: 1285 Size: 2 K Updated: 3/24/2005 5.0  Author: Gregory L. Reichert
This routine uses Google's spelling correction feature of their search engine to perform spell checking.


Useful Routines
DL: 3869 Size: 15 K Updated: 3/24/2005       Author: Gregory Reichert
String, File, Array, Printer, and Date/Time routines.


 


Style:

Quote of the Day:
A client rarely know what they truly want until they can see what they can have.

Universal Thread







© 2003-2008   GLR Software - Gregory Lynn Reichert.    All rights reserved.