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