Zeilenzähler

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

Edlothiol

Betreff: Zeilenzähler

BeitragSo, Jun 06, 2004 13:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Auf die Gefahr hin, dass es sowas schonmal hier gab:
BlitzBasic: [AUSKLAPPEN]

Global lines,bytes,files,blanklines,commentlines
Dim filenames$(50)
Dim filelines(50)

Repeat
Print "Type 'Exit' for end"
filename$ = Input("Filename? ")
If Trim(Lower(filename)) = "exit" Then End
SearchFile filename
Print filename + " and its includes have"
Print " " + files + " files:"
For i = 0 To files - 1

Print " " + filenames(i) + " (" + filelines(i) + " lines of code)"

Next
Print " " + bytes + " bytes of code"
Print " " + lines + " lines of code"
Print " " + blanklines + " blank lines"
Print " " + commentlines + " comment lines"
Print
Reset
Forever

Function SearchFile(filename$)

filenames(files) = filename
Local fileid = files
files = files + 1
bytes = bytes + FileSize(filename)

Local file = ReadFile(filename)

While Not Eof(file)

Local l$ = Lower(Trim(ReadLine(file)))

; grob...
If l = "" Then
blanklines = blanklines + 1
ElseIf Left(l,1) = ";" Then
commentlines = commentlines + 1
Else
lines = lines + 1
filelines(fileid) = filelines(fileid) + 1
End If

inc = Instr(l,"include") > 0

If inc > 0 Then

Local f$ = ""
Local pos = 0
If Mid(l,inc + 8,1) = Chr(34) Then
While Mid(l,inc + 9 + pos,1) <> Chr(34)

f = f + Mid(l,inc + 9 + pos,1)

pos = pos + 1
Wend

SearchFile f
End If

End If

Wend

CloseFile file

End Function

Function Reset()
lines = 0
files = 0
chars = 0
blanklines = 0
commentlines = 0
End Function
Zählt die Zeilen einer .bb - Datei und ihrer Includes und macht eine Statistik daraus. "lines of code" sind nur die, die nicht nur aus Kommentaren bestehen und keine Leerzeilen sind. "bytes of code" sind einfach die Dateigrößen aller Dateien. Ausserdem werden die Dateinamen aller Dateien aufgezählt. Vielleicht mache ich die Statistik ja noch genauer, mal gucken Wink "exit" übrigens zum Beenden.

Edit: Grad noch nen Bug entdeckt...

Edit 2: Jetzt wird für jede Datei einzeln noch die Zeilenzahl angezeigt...

Der Zeilenzähler muss übrigens im selben Verzeichnis liegen wie die Hauptdatei des Codes.
  • Zuletzt bearbeitet von Edlothiol am Sa, Jun 12, 2004 20:08, insgesamt einmal bearbeitet
 

OJay

BeitragSa, Jun 12, 2004 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
schonmal was davon gehört, das man dateien wieder schließt, nachdem man fertig ist? außerdem funktioniert der spass nicht, wenn ich sowas mache: BlitzBasic: [AUSKLAPPEN]
Include "..\Libs\gui.bb"
 

Edlothiol

BeitragSa, Jun 12, 2004 20:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh. Das Schließen hab ich übersehen...
Zitat:
außerdem funktioniert der spass nicht, wenn ich sowas mache:
BlitzBasic: [AUSKLAPPEN]
Include "..\Libs\gui.bb"
Komisch, dass es funktioniert... Die Datei, deren Code gezählt werden soll, muss eben nur im selben Ordner sein wie das Programm.
 

OJay

BeitragSa, Jun 12, 2004 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
das tut sie bei der anweisung ja offensichtlich nicht, oder? ach egal...
 

Edlothiol

BeitragSa, Jun 12, 2004 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du das auch ausprobiert? Wie gesagt, nur die Hauptdatei muss im gleichen Verzeichnis liegen, der Rest kann sonstwo sein.
Aber Zitat:
ach egal...

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group