Being a long-time Visual FoxPro turned .NET developer, I am now faced with
the task of porting several existing applications from VFP to .NET - and
providing customers with estimates of effort for each project as well.
Since I could not find a Source Lines of Code (SLOC) tool for VFP projects, I
decided to build one. This article is the result of my work and I hope someone
else will find this tool useful in their work.
Using the Application
VFPLOCCounter application is very easy to use - simply
select the VFP *.pjx file you wish to analyze and then click the
The application will analyze code found in Forms (*.scx), Menus
(*.mnx), Class Libraries (*.vcx), Programs (*.prg),
Includes (*.h), and Reports (*.frx).
For each file, the application generates the following metrics:
- Total number of lines of source
- Number of methods
- Number of lines of Code
- Number of Comment lines
- Number of Blank lines
- Percentage of Code lines
- Percentage of Comment lines
- Percentage of Blank lines
Note the Percentage calculations are all based on the total lines in the file
or project, for example, the Percentage of Code lines is calculated as
fileCodePercent = (fileCodeLines / fileTotalLines) * 100;
After all files in the project have been analyzed, the application generates
the above metrics for the project as a whole.
When the analysis is completed, you can produce a printable report by
clicking the Print Preview button which is positioned to the
right of the Process button.
Points of Interest
The report that the application generates is built using Microsoft Reporting
and was for me an interesting excursion into this way of building reports.
- 29th May, 2007: Initial post
- 31st August, 2011: Updated project to Visual Studio 2010,
supexpr" field for code in report files
- 30th December, 2011: Updated project, corrected bug that did not
correctly account for lines containing a single character (such as a ? or a
single tab). Also corrected bug that prevented Include files (.h) from being
examined. Also correctly count comment lines that begin with "&&" as comment
lines and not code lines. Starting a comment line with "&&" is considered
bad form in VFP, but is allowed nonetheless.