Pliki blokowe (niezdefiniowane, amorficzne) są przeznaczone do składowania bloków pamięci o dowolnym rozmiarze, zawierających dane dowolnych typów, bez uwzględniania ich struktury. Przy wykorzystaniu plików blokowych można też przetwarzać pliki tekstowe i elementowe.
Deklaracja pliku blokowego
W deklaracji wykorzystuje się słowo kluczowe FILE
VAR f:FILE;
Operacje dotyczące pliku blokowego
Operacje przygotowujące plik do odczytu i zapisu dla plików blokowych mają, oprócz nazwy zmiennej plikowej f dodatkowy parametr: RESET(f,rozmiar);
REWRITE(f,rozmiar);
Parametr rozmiar, typu WORD, określa rozmiar bloku. Jeżeli rozmiar bloku nie jest zdefiniowany, to przyjmowany jest rozmiar domyślny 128
bajtów.
Parametry procedur zapisu i odczytu muszą określać nazwę zmiennej plikowej f, adres początku bloku bufor, który reprezentuje zmienną dowolnego typu i wielkość bloku rozmiar. Parametr wynik, typu WORD, jest opcjonalny. Określa on rzeczywistą liczbę bloków przesłanych pod-czas wykonywania zapisu lub odczytu.
Deklaracje ich nagłówków:
BLOCKWRITE( f,bufor,rozmiar,wynik);
BLOCKREAD( f,bufor,rozmiar,wynik);
Wymagane jest, aby rozmiar*wynik<=65535.
Dla pliku blokowego są dostępne instrukcje dotyczące pliku o bez-pośrednim dostępie, czyli: SEEK, FILEPOS, FILESIZE.