![]() |
Mit TFileStream aus einer Datei lesen
Hallo zusammen.
Ich arbeite zum ersten Mal mit Streams und das Schreiben in eine Datei klappt auch schon ganz gut. Allerdings kommt bei meine Ausleseroutine nicht raus - soll heißen in dem Array stehen nur Nullen So habe ich es gemacht:
Delphi-Quellcode:
Wo liegt der Fehler?
procedure TForm1.Button1Click(Sender: TObject);
var FileStream : TFileStream; SearchRec : TSearchRec; NumberOfBytes : Int64; DataToParse : array of byte; begin FileStream := TFileStream.Create('StreamTest.txt', fmOpenRead); try FindFirst('StreamTest.txt', faAnyFile, SearchRec); NumberOfBytes := SearchRec.Size; SysUtils.FindClose(SearchRec); SetLength(DataToParse, NumberOfBytes); FileStream.Read(DataToParse, NumberOfBytes); finally FreeAndNil(FileStream); end; end; Vielen Dank. |
Re: Mit TFileStream aus einer Datei lesen
nimm mal statt DataToParse ein DataToParse[0]
DataToParse zeigt auf den Array-Zeiger und DataToParse[0] auf das erste Element (die nächten elemente stehen dann diekt dahinter). Es wird bei dir praktisch nur der Zeiger gespeichert/geladen, aber nicht der Arrayinhalt. |
Re: Mit TFileStream aus einer Datei lesen
und ausserdem ist das
Delphi-Quellcode:
wohl überflüssig, die Filegröße ist nach Create() doch mit FileStream.Size bekannt?!
FindFirst('StreamTest.txt', faAnyFile, SearchRec);
NumberOfBytes := SearchRec.Size; SysUtils.FindClose(SearchRec); |
Re: Mit TFileStream aus einer Datei lesen
Zitat:
Zitat:
Naja, jetzt klappt es :-) |
Re: Mit TFileStream aus einer Datei lesen
Na, dann wird die Datei wohl noch nicht existiert haben - oder?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:32 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 by Thomas Breitkreuz