procedure zapisz_baze(var glowa:p_wpis);
var
baza:file of t_wpis;
temp:p_wpis;
begin
assign(baza,'baza.dat');
rewrite(baza);
temp:=glowa;
repeat
write(baza,temp^);
temp:=temp^.nastepny;
until temp=nil;
close(baza);
end;
wyskakuje runtime error 'I/O error 998'
ale nic to bo procedura i tak zapisywała do pliku rekordy wraz z polami wskaznikowymi co jest nieekonomiczne
oto procedura zapisujaca rekordy bez pól wskaźnikowych:
procedure zapisz_baze(var glowa:p_wpis);
type
t_aktualny=record
nazwisko:string[30];
adres:string[100];
pesel:string[11];
rejestracja:string[10];
waga:integer;
ilosc_drzwi:byte;
model:string[20];
typ:string[20];
data_zarejestrowania:string[10];
czas_wjazdu:string[5];
czas_wyjazdu:string[5];
end;
var
aktualny:t_aktualny;
baza:file of t_aktualny;
temp:p_wpis;
begin
assign(baza,'baza.dat');
rewrite(baza);
temp:=glowa;
repeat
aktualny.nazwisko:=temp^.nazwisko;
aktualny.adres:=temp^.adres;
aktualny.pesel:=temp^.pesel;
aktualny.rejestracja:=temp^.rejestracja;
aktualny.waga:=temp^.waga;
aktualny.ilosc_drzwi:=temp^.ilosc_drzwi;
aktualny.model:=temp^.model;
aktualny.typ:=temp^.typ;
aktualny.data_zarejestrowania:=temp^.data_zarejestrowania;
aktualny.czas_wjazdu:=temp^.czas_wjazdu;
aktualny.czas_wyjazdu:=temp^.czas_wyjazdu;
write(baza,aktualny);
temp:=temp^.nastepny;
until temp=nil;
close(baza);
end;
i teraz jest jeszcze śmieszniej bo nie pokazuje zadnego błędu przy uruchamianiu spod delphi a przy uruchamianiu execa pokazuje