Einzelnen Beitrag anzeigen

Benutzerbild von litsa
litsa

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

AW: Binärdatei mit TFileStream auslesen

  Alt 8. Okt 2010, 11:37
Danke für die Antworten.

Der Code mit TFileStream sieht so aus:

Delphi-Quellcode:
type
  TDatensatz = packed record
  HH, HL, LH, LL: Byte;
end;

function wert(ld: TDatensatz): Double;
var w: Double;
    v: boolean;
begin
  if ld.HH > 128 then
    begin
      ld.HH := ld.HH -128;
      v := True;
    end
    else v := False;
    w := (ld.HH * 256 * 256 * 256) + (ld.HL * 256 * 256) + (ld.LH * 256 + ld.LL);
    if v = true then w := w -2147483648;
    wert := w/100;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i,k: integer;
  lDatensatz: TDatensatz;
  lStream : TFileStream;
begin
  k := -1; //Anzahl Datensätze
  lStream := TFileStream.Create('100322.MIN', fmOpenRead);
  try
    while not EOF do
      begin
        lStream.Read(lDatenSatz, SizeOf(lDatenSatz)); //Daten einlesen
        k := k + 1;
      end;
        Edit1.Text := INtToStr(k); //Anzahl anzeigen
    for i := 1 to k do
      StringGrid1.Cols[4].Add(FloatToStr(wert(lDatenSatz))); //function wert
  finally
    lStream.Free;
  end;
end;
Hier bekomme ich einen I/O Error.

Zu der Binary: diese wird aus einem Programm erstellt, mir ist bekannt welche Daten ich brauche. Die Dateien sind über 1MB groß, anbei ein Beispiel.

Zitat:
Edit: Der rote Kasten macht wohl gerade Mittag...
Sorry ich verstehe nicht was Du damit meinst... Ist das für mich gedacht?

Danke, Eva
Angehängte Dateien
Dateityp: zip 100322.zip (276,1 KB, 10x aufgerufen)
Evangelia
-
  Mit Zitat antworten Zitat