Ooops
November 28, 2020, 10:41:13 AM

Author Topic: [bb] BB Source Code Counter by King Dave [ 1+ years ago ]  (Read 386 times)

Offline BlitzBot

  • Jr. Member
  • **
  • Posts: 1
[bb] BB Source Code Counter by King Dave [ 1+ years ago ]
« on: June 29, 2017, 12:28:40 AM »
Title : BB Source Code Counter
Author : King Dave
Posted : 1+ years ago

Description : Counts the number of lines in all .bb files under the apps directory (including sub directorys).

Displays the total lines of code and the total size in bytes of them.

It does NOT count backup bb files.


Code :
Code: BlitzBasic
  1. Graphics 520,340,16,2
  2.  
  3. dir.Dir=New Dir
  4. dirloc$=CurrentDir$()
  5.  
  6. Print "Counting lines..."
  7. While dir<>Null
  8.         lis=ReadDir(dirloc$)
  9.         If Not lis Then RuntimeError "Failed to read the '"+dirloc$+"' directory"
  10.         filen$=NextFile(lis)
  11.         While filen$<>""
  12.                 If KeyHit(1) Then End
  13.                 Select FileType(dirloc$+filen$)
  14.                         Case 1  If Right$(filen$,3)=".bb"
  15.                                                 Size=Size+FileSize(dirloc$+filen$)
  16.                                                 file=ReadFile(dirloc$+filen$)
  17.                                                 While Not Eof(file)
  18.                                                         txt$=ReadLine(file)
  19.                                                         If txt$<>"" And Left$(txt$,1)<>";" Then Lines=Lines+1 Else Blanks=Blanks+1
  20.                                                 Wend
  21.                                                 CloseFile file
  22.                                         EndIf
  23.                         Case 2  If filen$<>"." And filen$<>".."
  24.                                                 ndir.Dir=New Dir
  25.                                                 ndirloc$=dirloc$+filen$+""
  26.                                         EndIf
  27.                 End Select
  28.                 filen$=NextFile(lis)
  29.         Wend
  30.         CloseDir lis
  31.         Delete dir
  32.         dir.Dir=First Dir
  33. Wend
  34.  
  35. Cls
  36. Locate 0,0
  37. Print "Lines of code: "+Lines
  38. Print "Blank or comment lines: "+Blanks
  39. Print "---"
  40. Print "Total lines: "+(Lines+Blanks)
  41. Print:Print
  42. kb#=Float#(Size)/1024
  43. mb#=Float#(Size)/1048576
  44. Print "Total file size: "+Size+" bytes ("+Left$(kb#,Len(kb#)-4)+" kb / "+Left$(mb#,Len(mb#)-4)+" mb)"
  45. Print:Print
  46. Print "Press any key to close."
  47. FlushKeys
  48. WaitKey
  49. End
  50.  
  51. Type Dir
  52.         Field loc$
  53. End Type


Comments : none...

 

SimplePortal 2.3.6 © 2008-2014, SimplePortal