![]() |
TFileStream: Textdatei auslesen
hi,
ich möchte aus einer datei meine 15zeichen langen strings auslesen, ich habe mir gedacht das ich es mit einer while schleife mache, nur wie? ich dachte an "while bytesread = 15 do...". Das würde aber heissen das ich das "Read" von TFileStream VOR der schleife schreiben müsste... aber da das read wiederrum nicht in der schleife ist kann damit auch nur 1 durchgang funktionieren oder? ich hatte das bis jetzt ca so und weiss nich weiter:
Delphi-Quellcode:
procedure TBL.Load(const AFileName: string);
var Fs: TFileStream; BytesRead: Integer; Buffer: array[1..15] of Char; begin Fs := TFileStream.Create(AFileName, fmOpenRead + fmShareDenyNone); try BytesRead := Fs.Read(Buffer, Length(Buffer)); while BytesRead = 15 do... // hm.... finally Fs.Free; end; end; |
Re: TFileStream: Textdatei auslesen
Moin,
wie wär's mit
Delphi-Quellcode:
MfG
while Fs.Read(Buffer, Length(Buffer)) = 15 do
// hat geklappt... Stevie |
Re: TFileStream: Textdatei auslesen
Hallo,
versuch es mal wie folgt:
Delphi-Quellcode:
procedure TBL.Load(const AFileName: string);
var Fs: TFileStream; BytesRead: Integer; Buffer: array[1..15] of Char; begin Fs := TFileStream.Create(AFileName, fmOpenRead + fmShareDenyNone); try While Fs.Position<=Fs.Size do begin BytesRead := Fs.Read(Buffer, Length(Buffer)); // Hier geht's dann weiter end; // While Fs.Position<=Fs.Size do finally Fs.Free; end; end; |
Re: TFileStream: Textdatei auslesen
Zitat:
|
Re: TFileStream: Textdatei auslesen
Zitat:
|
Re: TFileStream: Textdatei auslesen
danke euch zwei ;)
btw:
Delphi-Quellcode:
procedure TBL.Load(const AFileName: string);
var Fs: TFileStream; BytesRead: Integer; Buffer: array[1..15] of Char; begin Fs := TFileStream.Create(AFileName, fmOpenRead + fmShareDenyNone); try While Fs.Position<=Fs.Size do begin BytesRead := Fs.Read(Buffer, Length(Buffer)); // Hier geht's dann weiter end; // While Fs.Position<=Fs.Size do finally Fs.Free; end; end; ^^^^ dann brauch ich die variable "BytesRead" aber nicht oder? |
Re: TFileStream: Textdatei auslesen
Es sei denn, du hast wirklich noch nen Rest, und willst den wissen...
|
Re: TFileStream: Textdatei auslesen
Zitat:
Ich würde es sicherheitshalber prüfen bevor ich die Bytes verarbeitete |
Re: TFileStream: Textdatei auslesen
Das ist nicht sehr günstig ständig Position und Größe abzufragen und zu vergleiche. Besser wäre:
Delphi-Quellcode:
procedure TBL.Load(const AFileName: string);
var Fs: TFileStream; BytesRead: Integer; Buffer: array[1..15] of Char; begin Fs := TFileStream.Create(AFileName, fmOpenRead + fmShareDenyNone); try repeat BytesRead := Fs.Read(Buffer, Length(Buffer)); // Hier geht's dann weiter until BytesRead < sizeof(Buffer); finally Fs.Free; end; end; |
Re: TFileStream: Textdatei auslesen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:16 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