Hallo,
ich möchte eine Textdatei byteweise auslesen und dabei byteweise in einen Memorystream speichern.
Hier mein Beispielcode (um den kurz und übersichtlich zu halten, habe ich die Schutzblöcke mal weggelassen).
Code:
procedure makestream(datei:string);
var
fl :file of char;
P : char;
len,fs : longint;
stream : TMemoryStream;
begin
Stream := TMemoryStream.Create;
assignfile(fl,datei);
reset(fl);
fs := filesize(fl);
Len := fs;
Stream.Write(Len, SizeOf(Len));
while not eof(fl) do
begin
read(fl,p);
// Len := Length(p);
// Stream.Write(len, sizeof(p));
Stream.Write(p,sizeof(p));
end;
form1.Memo1.Lines.LoadFromStream(stream);
stream.Free;
closefile(fl);
end;
Leider bleibt mein Memofenster leer. Was mach' ich nur falsch?
Wenn diese kleine Procedure mal ordentlich läuft, möchte ich nämlich jedes einzelne Char-Zeichen bearbeiten (codieren), bevor ich es in den Stream schreibe.
Kann vielleicht jemand den Fehler korrigieren?