Einzelnen Beitrag anzeigen

Benutzerbild von litsa
litsa

Registriert seit: 6. Jul 2006
Ort: Detmold
51 Beiträge
 
Delphi 2006 Architect
 
#1

Binärdatei mit TFileStream auslesen

  Alt 8. Okt 2010, 10:26
Delphi-Version: 2006
Hallo,

ich habe eine Binärdatei, in der Werte mit Uhrzeiten gespeichert werden. Ich möchte diese nun auslesen. Kann die Daten als Hex auslesen und in eine Text-Datei speichern, aber weiss nicht weiter. Habe hier schon einige Beiträge gefunden und es mit TFileStream versucht aber irgendwie klappt es nicht. Meine Frage ist, wie bekomme ich nun aus der Text-Datei die Daten raus? Oder muss ich das Ganze anders angehen?

Bei Torry hab ich dies gefunden:

Delphi-Quellcode:
procedure ShowBinary(var Data; Count: Cardinal);
var
  line: string[80];
  i: Cardinal;
  p: PChar;
  nStr: string[4];
const
  posStart = 1;
  binStart = 7;
  ascStart = 57;
  HexChars: PChar = '0123456789ABCDEF';
begin
  p := @Data;
  line := '';
  SLbin.Clear;
  for i := 0 to Count - 1 do
  begin
    if (i mod 16) = 0 then
    begin
      if Length(line) > 0 then
        SLbin.Add(line);
      FillChar(line, SizeOf(line), ' ');
      line[0] := Chr(72);
      nStr := Format('%4.4X', [i]);
      Move(nStr[1], line[posStart], Length(nStr));
      line[posStart + 4] := ':';
    end;
    if p[i] >= ' then
      line[i mod 16 + ascStart] := p[i]
    else
      line[i mod 16 + ascStart] := '.';
    line[binStart + 3 * (i mod 16)] := HexChars[(Ord(p[i]) shr 4) and $F];
    line[binStart + 3 * (i mod 16) + 1] := HexChars[Ord(p[i]) and $F];
  end;
  SLbin.Add(line);
  SLbin.SaveToFile('o.txt');
end;
Danke, Eva
Evangelia
-
  Mit Zitat antworten Zitat