Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: Binärdatei mit TFileStream auslesen

  Alt 10. Okt 2010, 09:29
Wieso definierst du dein Record nicht wie folgt
Delphi-Quellcode:
Type
  TDatensatz = packed record // Größe = 1404 Bytes
    RawUnkn : word; // 2 Byte (diese Daten wertest du nicht aus, also mir unbekannt, was die bedeuten
    RawTime : word; // 2 Byte
    RawData : Array[ 0..349 ] of integer; // 350* 4 Bytes
    Function TimeStr : string;
    Function Data( Index : integer ): double;
  end;

{...}

function TDatensatz.TimeStr : string;
  begin
    Result := Format( '%d:%d', [ RawTime div 100, RawTime mod 100 ] );
  end;

function TDatensat.Data( Index: integer ) : double;
  Begin
    Result := RawData[ Index ] / 100;
  end;

{...}

var
  ds : TDatensatz;

// Prüfen ob die Recordgröße stimmt, denn dann ist die Dateigröße ein ganzes Vielfaches von der Recordgröße
if fs.Size mod SizeOf( ds ) = 0 then

// Auslesen des aktuellen Records aus der Datei
fs.Read( ds, SizeOf( ds ) );
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (10. Okt 2010 um 09:42 Uhr)
  Mit Zitat antworten Zitat