Wenn du kein Memo und keine Listbox verwenden möchtest um die Zeile zu zählen, was ich nicht machen würde, gibt es zwei verschiedene Varianten:
1. Wenn die Datei pro Zeile eine bestimmte Anzahl Zeichen hast, wie es häufig bei Inputfiles von Banken u.s.w. der fall ist, kannst du aus der Dateigrösse in Bytes berechnen, wieviele Zeile die Datei hat. Es gibt hier zu beachten, dass ein Zeilenumbruch in Windows aus zwei Zeichen besteht!
2. Du hast keine Ahnung, aus wievielen Zeichen deine Textdatei besteht. Dann wirst du nicht darum rum kommen die Gesamt datei zu durchlaufen und zu zählen. Auch hier gibt es wieder mehrere Möglichkeiten, wie man das machen könnte, folgend eine von ihnen:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| function LineCount(fileName: TFileName): Integer; ver iFile: TextFile; begin Result := -1; AssignFile(iFile, fileName); {$I-} Reset(iFile); {$I+} if not (IOResult = 0) then Exit; while not Eof(iFile) do begin Inc(Result); end; Inc(Result); CloseFile(iFile); end; |
Grüsse Dominic