Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
Delphi 10 Seattle Enterprise
|
AW: Binärdatei mit TFileStream auslesen
10. Okt 2010, 10: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 10:42 Uhr)
|