Click here to Skip to main content
15,861,172 members
Articles / Programming Languages / C#

Visual FoxPro Lines of Code Analysis

Rate me:
Please Sign up or sign in to vote.
4.64/5 (5 votes)
5 Jan 2012CPOL2 min read 75.7K   2.3K   14   22
Lines of Code Counter in C# that analyze FoxPro Projects (PJX)

Introduction

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

The VFPLOCCounter application is very easy to use - simply select the VFP *.pjx file you wish to analyze and then click the Process button.

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 follows:

C#
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.

Enjoy!

History

  • 29th May, 2007: Initial post
  • 31st August, 2011: Updated project to Visual Studio 2010, search "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.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
United States United States
I develop software for a leading healthcare system in Northern Illinois.

Comments and Discussions

 
QuestionVery helpful Pin
Member 121784781-Dec-15 1:24
Member 121784781-Dec-15 1:24 
QuestionQUICK, EASY AND DOES THE JOB Pin
Member 1085328727-Feb-15 5:46
Member 1085328727-Feb-15 5:46 
QuestionJust what I needed Pin
stoked20-Nov-14 12:08
stoked20-Nov-14 12:08 
QuestionDatabase Stored Procedure not analysed Pin
Member 818889431-Aug-11 10:23
Member 818889431-Aug-11 10:23 
QuestionIt's not working for all files Pin
Member 818891631-Aug-11 6:32
Member 818891631-Aug-11 6:32 
AnswerRe: It's not working for all files Pin
Mark Miller31-Aug-11 7:03
Mark Miller31-Aug-11 7:03 
GeneralRe: It's not working for all files Pin
Member 818891631-Aug-11 10:17
Member 818891631-Aug-11 10:17 
GeneralRe: It's not working for all files Pin
Member 818889431-Aug-11 10:30
Member 818889431-Aug-11 10:30 
GeneralRe: It's not working for all files Pin
Mark Miller31-Aug-11 17:56
Mark Miller31-Aug-11 17:56 
GeneralJIT Depuration Pin
santimaza9-Jun-11 1:17
santimaza9-Jun-11 1:17 
GeneralRe: JIT Depuration Pin
Mark Miller9-Jun-11 7:03
Mark Miller9-Jun-11 7:03 
Generalvfp lines of code counter Pin
Mike Poirier18-Dec-09 3:50
Mike Poirier18-Dec-09 3:50 
GeneralRe: vfp lines of code counter Pin
Mark Miller21-Dec-09 9:28
Mark Miller21-Dec-09 9:28 
Generalfoxpro project books Pin
microcomputershisar2-Dec-08 20:22
microcomputershisar2-Dec-08 20:22 
GeneralRe: foxpro project books Pin
Mark Miller3-Dec-08 4:51
Mark Miller3-Dec-08 4:51 
QuestionDoes it work for Memo fields? Pin
Andrey Chekh30-Oct-07 10:51
Andrey Chekh30-Oct-07 10:51 
I cannot make it work for .vcx files - the file opened without errors but Methods fields values are always empty. I can read the values using Visual FoxPro or DBF Viewer though.

I've got the latest Visual FoxPro oledb provider version 9.0.00.3504
GeneralVery Well Done Pin
IgDev5-Jun-07 7:43
IgDev5-Jun-07 7:43 
GeneralRe: Very Well Done Pin
Mark Miller5-Jun-07 9:24
Mark Miller5-Jun-07 9:24 
GeneralCorrections Pin
Alexke4-Jun-07 22:24
Alexke4-Jun-07 22:24 
GeneralRe: Corrections Pin
Mark Miller5-Jun-07 4:41
Mark Miller5-Jun-07 4:41 
GeneralMigration Lines of Code Counter Pin
rajantawate1(http//www.tawateventures.com29-May-07 8:52
rajantawate1(http//www.tawateventures.com29-May-07 8:52 
GeneralRe: Migration Lines of Code Counter Pin
Mark Miller29-May-07 9:11
Mark Miller29-May-07 9:11 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.