Hallo Ralf,
abgesehen von Phistevs Ratschlägen habe ich deinen Code etwas überarbeitet. Was dir unbekannt vorkommt, kannst du dir mit der kontextsensitiven Hilfe von Delphi bestimmt erarbeiten.
Delphi-Quellcode:
procedure TEKG.ReadStream(const SelectedRoot, SelectedFile: string);
var
s: string;
i: integer;
ba: array of byte;
fs: TFileStream;
begin
// Datei öffnen
fs := TFilestream.Create(SelectedRoot + SelectedFile ,fmopenread or fmShareDenyNone);
// Puffer an Dateigröße anpassen
SetLength(ba, fs.Size);
// Datei komplett in Puffer einlesen
fs.Read(ba[0], Length(ba));
// Datei wieder freigeben
fs.Free;
// Leeren String bereit stellen
s := '';
// Jedes Byte im Puffer anschauen
for i := Low(ba) to High(ba) do
// Steuerzeichen ausklammern
if (ba[i] > 32) and (ba[i] <> 127)
then s := s + Chr(ba[i])
else s := s + ' ';
// String an Memo zur Anzeige übergeben
Memo.Text := s;
end;
Grüße vom marabu