Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: TFileStream und binäre Daten

  Alt 1. Nov 2005, 13:48
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
  Mit Zitat antworten Zitat