[Delphi] BlockRead, a pliki binarne

0

Witam.
Chciałbym się dowiedzieć jak odczytać z pliku o nieokreślonym typie i długości dane. Zakładam, że znam zawartość pliku bajt po bajcie. Tak dla przykładu podam jak plik mógłby wyglądać(Od pierwszego bajtu pliku) :
[nazwa zapisana w ASCII String np. 'Poczatek'] 8 Bajtów
[zmienna typu Single] 4 Bajty (wiadomo)
[zmienna typu Single] 4 Bajty
[zmienna typu smallint] 2 Bajty
[ponownie jakiś ciąg znaków ASCII np. 'Koniec'] 6 Bajtów
Następnie do końca pliku są dane zapisane jako liczby zmiennoprzecinkowe na 4 Bajtach każda (single). Jak wyciągnąć poszczególne dane z tego pliku wiem że do odczytu takich plików służy funkcja

BlockRead

ale nie bardzo wiem jak jej używać. Czy jest może inny spodób odczytywania danych z plików beztypowych ? Proszę o pomoc.
Pozdrawiam.

0

http://www.delphibasics.co.uk/RTL.asp?Name=BlockRead

Ogólnie polecam tę stronkę :)

0

Ok :) . To już przeczytałem z 2 razy ale to i tak nie rozwiązuje mojego problemu(Jestem początkującym programistą - jeśli w ogóle można tak powiedzieć :)). Proszę o wytłumaczenia jak to rozwiązać. Pozdrawiam

0

Stworz rekord np:

{ podaje wersje skrocona owego rekordu }
type
 TMyRec = record
  Ascii :string[7]; //lub array[0..7] of char;
  x1, x2 :single;
  i1 :SmallInt;
 end;

var
 MyRec :TMyRec;
 F          :file;

begin
 // nie bawie sie w sprawdzanie wyjatkow
 AssignFile(F, 'XXX.XXX');
 Reset(F, 1);
 BlockRead(F, MyRec, SizeOf(MyRec));
 CloseFile(F);
end;

Nic nie stoi na przeszkodzie zapetlic to.

1 użytkowników online, w tym zalogowanych: 0, gości: 1