![]() |
Text Datei über EOF hinweg lesen
Hi,
ich habe folgendes Problem ich habe eine Textdatei, der erste Teil ist noch ganz normaler Text den ich via Readln() einlese, doch irgendwann kommt ein "Binär" Teil den ich per Read() einlesen möchte jedoch kommen dort einige EOF Zeichen drin vor so das mir Read() nichts mehr einliest, gibt es eine Möglichkeit die Datei doch noch einzulesen. Unter Turbo Pascal funktioniert das ganze nämlich, komischerweise. Folgender Code zeigt wie die einlese routine grob arbeitet.
Delphi-Quellcode:
Ist jetzt irgendwo dazwischen ein 'EOF' Zeichen dann liest Read nichts mehr ein und die 'Ende-Zeichen' werden nicht mehr gefunden...
Var
FHandle : Text; chr1, chr2, chr3 : Char; Begin Assign(FHandle, 'test.txt'); {$-} Reset(FHandle); {$I+} If IoResult = 0 Then Begin . . <erst wird der normale Text bereich per Readln() eingelesen> . . Repeat Read(FHandle, chr1); Read(FHandle, chr2); Read(FHandle, chr3); Until ((Ord(chr1) = 1) AND (Ord(chr2) = 1) AND (Ord(chr3) = 1)); . . . Close(FHAndle); End;{if} mfg TUX p.s. Das ganze ist in Delphi Personal 7 realisiert. |
Re: Text Datei über EOF hinweg lesen
Nimm einen FileStream und lese bis zum Ende der Datei.
|
Re: Text Datei über EOF hinweg lesen
Oder merk dir die Stelle (FilePos), schließe die Datei, öffne sie im Binärmodus (irgendwas anderes ... halt nur nicht als TextFile), springe wirder zu der Position (Seek) und ließ es ein ^^
Das EoF kommt daher, da im TextModus eine #0 als Dateiende angesehen wird. |
Re: Text Datei über EOF hinweg lesen
#0 ist das Stringende. (Text)Dateiende ist Strg^z. Siehe auch hier:
![]() |
Re: Text Datei über EOF hinweg lesen
Komisch, mir war so, als wenn das Stringende #10/#13#10 wäre?
Du könntest dennoch etwas Rechthaben, mit dem ESC, aber mir war so, als wenn dennoch bei #0 aufgehört wird mit lesen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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