![]() |
Auslesen wie viele Einträge ne Txt-Datei hat (Tfilestream)
hi,
kann man mit irgend ein Befehl auslesen, wieviel Einträge in einer Textdatei sind? so Speicher ich sie aus einem Array:
Delphi-Quellcode:
jetzt sieht man in der txt-Datrei die einträge. Aber wie kann ich auslesen, wie viele es sind, dass also als result 46 raus kommt?
type
TMyArray = array of String; const IDENT_TMYARRAY = 'TMyArray'; BUF_SIZE = 4096; procedure SaveToFile(const MyArray: TMyArray; const FileName: String); //filename irgendwas mit txt var Stream: TFileStream; Writer: TWriter; I: Integer; begin Stream := TFileStream.Create(FileName, fmCreate); try Writer := TWriter.Create(Stream, BUF_SIZE); try Writer.WriteSignature; Writer.WriteIdent(IDENT_TMYARRAY); for I := 0 to 45 do // sind 46 einträge im Array Writer.WriteString(MyArray[I]); finally Writer.Free; end; finally Stream.Free; end; end; |
Re: Auslesen wie viele Einträge ne Txt-Datei hat (Tfilestrea
Am einfachsten ist es, wenn Du zunächst die Anzahl der Einträge in die Textdatei schreibst und dann die Einträge selbst. Beim einlesen zuerst dann die Zahl auslesen und dann x mal die Einträge.
|
Re: Auslesen wie viele Einträge ne Txt-Datei hat (Tfilestrea
oder du machst eine schleife und wenn die Datei fertig ist unterbrichst du die Schleife.
Aber wenn du eine TXT mit "normalen" Zeichen speichern und laden willst dann benütz doch einfach bei einer TStringList ".savetofile('');" und ".loadfromfile('');" da köntest du auch mit count die Zeilen abfragen. |
Re: Auslesen wie viele Einträge ne Txt-Datei hat (Tfilestrea
Leg dir einen Puffer an, füll ihn und prüfe jedes Zeichen darin.
Ist es eine #13 und eine #10, dann erhöhst du deinen Zähler immer um eins. Ein Windows-Zeilenumbruch sieht so aus: #13#10. Unter Unix (#10) bzw. Mac (#13) gibt es nur jeweils ein Zeichen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz