Reader Level:
ARTICLE

Line Count Utility in VB.NET

Posted by Levent Camlibel Articles | Visual Basic .NET November 10, 2012
This utility is for counting number of code lines in a Visual Studio Project. It returns the number of code lines and file names which are in the project folders.
  • 0
  • 0
  • 5306
Download Files:
 

Description

This utility is for counting number of code lines in a Visual Studio Project. It returns the number of code lines and file names which are in the project folders. Actually, you can use this utility for any kind of text file to count the number of lines. This is VB Class file, so you can easily call it in any Web or Windows application. I programmed a simple web application, which shows the number of code line and file names in a web datagrid. 

Do not forget to change.

Dim myDirectoryArray as string [].

This array contains the folder names in which my project files reside. Moreover, you can also increase the number of file types if you change Dim myFileArray as    String[].

Source Code

Imports System
Imports System.Collections
Imports System.IO
Namespace LineCount
'/ <summary>
'/ Application: It counts code lines in the VS.NET Project
'/ Author: Levent Camlibel
'/ Date: July 26, 2001
'/ </summary>
Public Class DBLineCount
'FileNames holds the names of files in the project directories
Protected FileNames As New ArrayList(200)
Public Sub New()
End Sub 'New
'/ it returns filenames in the project
'/ </summary>
Public ReadOnly Property FilesInProject() As ArrayList
Get
Return
 FileNames
End Get
End
 Property
'/ <summary>
'/ this function returns the count of code lines
'/ </summary>
'/ <returns></returns>
Public Function GetLineCount() As Integer
Dim
 LineCount As Integer = 0
' this array holds file types, you can add more file types if you want
Dim myFileArray(7) As [String] = {"*.cs", "*.aspx", "*.ascx", "*.xml", "*.asax", "*.config", "*.js"}
' this array holds directories where your project files resides
Dim myDirectoryArray(2) As [String] = {"c:\inetpub\wwwroot\supplynet\", "d:\Net Projects\SpNetComponents\"}
'this loops directories
Dim sd As [String]
For Each sd In myDirectoryArray
Dim dir As New DirectoryInfo(sd)
' this loops file types
Dim sFileType As [String]
For Each sFileType In myFileArray
' this loops files
Dim file As FileInfo
For Each file In dir.GetFiles(sFileType)
' add the file name to FileNames ArrayList
FileNames.Add(file.FullName)
' open files for streamreader
Dim sr As StreamReader = File.OpenText(file.FullName)
'loop until the end
While Not (sr.ReadLine() Is Nothing)
LineCount += 1
End While
'close the streamreader
sr.Close()
Next file
Next sFileType
Next sd
Return LineCount
End Function 'GetLineCount
End Class 'DBLineCount
End Namespace 'LineCount

COMMENT USING

Trending up