Witam
Napisałem program baze danych
mam problem w tym, ze nie chce zapisac do pliku jak i z niego odczytac i wyswietlic, nawet z pamieci.
Proszę o pomoc
program baza;
uses crt;
type
dane = record
tekst : string;
liczba : integer;
end;
const
poz : integer = 0;
var
a, zn : char;
katalog : array[1..100] of dane;
F : file of dane;
procedure odczytzpliku;
var
i : integer;
begin
assign(F, 'baza.dat');
reset(F);
i := 0;
while not eof(F) do
begin
inc(i);
read(F, katalog[i]);
end;
poz := i;
close(F);
end;
procedure zapisdopliku;
var
i : integer;
begin
assign(F, 'baza.dat');
rewrite(F);
for i := 1 to poz do
write(F, katalog[i]);
close(F);
end;
procedure zapis(r : dane);
begin
with r do
begin
writeln('Podaj imie');
readln(tekst);
writeln('Podaj wiek');
readln(liczba);
end;
end;
procedure zapisdopam;
begin
inc(poz);
writeln('Nowa pozycja nr ', poz);
zapis(katalog[poz]);
end;
procedure odczyt(r : dane);
begin
with r do
begin
writeln('Imie: ', tekst);
writeln('Wiek: ', liczba);
end;
end;
procedure odczytzpam;
var
i : integer;
begin
for i := 1 to poz do
begin
writeln('Pozycja katalogu nr ', i);
odczyt(katalog[i]);
end;
readln;
end;
procedure menu(var a : char);
begin
writeln('Co chcesz zrobic? Wpisz:');
writeln('1 :Dla dodania nowej pozycji');
writeln('2 :Dla pokazania wszystkich pozycji');
writeln('3 :Dla zapisania bazy');
writeln('4 :Dla wczytania bazy');
writeln('5 :Wyjscie');
a := readkey;
end;
//-------------------------------------------------
begin
clrscr;
repeat
clrscr;
menu(a);
case a of
'1' :
begin
clrscr;
zapisdopam;
end;
'2' :
begin
clrscr;
odczytzpam;
end;
'3' :
begin
clrscr;
zapisdopliku;
writeln('Baza zostala zapisana!');
delay(1000);
end;
'4' :
begin
clrscr;
odczytzpliku;
writeln('Baza zostala wczytana!');
delay(1000);
end;
'5' :
begin
clrscr;
zapisdopliku;
writeln('Milego dnia');
delay(1000);
halt;
end;
else
writeln('Blad!');
end;
until False;
end.