Einzelnen Beitrag anzeigen

danieleh

Registriert seit: 1. Dez 2005
54 Beiträge
 
#1

Binäre Datei lesen - 2 Werte gleichzeitig

  Alt 23. Dez 2006, 11:56
Liebe Gemeischaft

Ich zerbreche mir den Kopf über folgendes Problem mit einer Schleife:

Ich habe binäre Dateien in deren jeweils eine Serie von Werten stehen (single type). Diese sind sequenziell angeordnet, aber die erste Hälfte sind X-Werte und die zweite hälfte sind Y-Werte und ich kenne die Anzahl X-Werte (n).

zb: 1.2345 2.3456 3.4567 4.5678 5.6789 6.7890 (n=3, X-Werte: 1.2345 2.3456 3.4567, Y-Werte: 4.5678 5.6789 6.7890) - eigentlich gibt es keinen Abstand zwischen den Werten, aber die Länge der einzelnen Werten ist ja bekannt.

Nun müsste ich in einer Schleife die entsprechenden X & Y-Werte-paare auslesen und übergeben (X=1.2345,Y=4.5678, ...).

Habe (u.a) folgendes versucht, wobei es nun am Seek zu scheitern scheint:

Delphi-Quellcode:
 
var
  k, BinSize: integer;
  BinDat: array of Real;
  BinFile : TStream;
  Xnum, Ynum, t: single;
  ...

  SetLength(BinDat, BinSize);
  BinSize:= n*2;
   
   for k := 0 to BinSize-n-1 do
    begin
      BinFile.Read(t, 4); // lese single, 4 bites
      BinDat[k]:=t;
      Xnum:=BinDat[k];
      Seek(BinFile, BinSize-n+k);
      BinFile.Read(t, 4);
      BinDat[k]:=t;
      Ynum:=BinDat[k];
      AddXY(Xnum,Ynum); // fügt Werte-paar in TeeChart-Serie ein
    end;
Wüsste mir jemand Rat geben ?
  Mit Zitat antworten Zitat