Witam, nie mogę sobie poradzić z zapisem i odczytem w moim programie, może ktoś z Was znajdzie błąd:
Program Dziennik;
Uses
crt, sysutils;
type
pOsoba=^Osoba; //przechowuje osoby
Osoba=record
imie: string;
nazwisko: string;
uwagi: array[0..19] of string;
oceny: array[0..2,0..19] of integer;
nastepny: pOsoba;
end;
procedure Odczyt(var poczatek:pOsoba); //odczyt danych z pliku, zapis dziala tak samo
var suwak: pOsoba;
//nowaos: pOsoba;
plik: file of pOsoba;
//i: integer;
nowy: pOsoba;
begin
assign(plik, 'osoby.dat');
reset(plik);
while EOF(plik)=false do
begin
if poczatek = NIL then begin
new(poczatek);
read(plik,poczatek);
poczatek^.nastepny:=NIL;
end
else begin
suwak:=poczatek;
while suwak^.nastepny<>NIL do
suwak:=suwak^.nastepny;
new(nowy);
read(plik,nowy);
nowy^.nastepny:=NIL;
suwak^.nastepny:=nowy;
end;
end;
close(plik);
end;
procedure Zapis(poczatek:pOsoba);
var suwak: pOsoba;
plik: file of pOsoba;
begin
assign(plik, 'osoby.dat');
rewrite(plik);
suwak:=poczatek;
while suwak^.nastepny<>NIL do begin
write(plik,suwak);
suwak:=suwak^.nastepny;
end;
write(plik,suwak);
close(plik);
end;