program Baza;
uses crt;
type
TDane=Record
Imie : String;
Nazwisko : String;
Wiek : byte;
end;
var
Base : Array of TDane;
buffer : Tdane;
tag : integer;
w : char;
Path : string;
Procedure SaveRecord(Lines:Tdane;FName:string);
var
Plik : Text;
buffer :string;
begin
Assign(Plik,FName+'.txt');
Rewrite(Plik);
Writeln(Plik,lines.Imie);
Writeln(Plik,lines.Nazwisko);
Writeln(Plik,lines.Wiek);
Close(Plik);
{zapis rekordu}
end;
Procedure CleanBuffer;
begin
buffer.Imie :='';
Buffer.Nazwisko:='';
Buffer.Wiek:=0;
end;
Procedure CreateBuffer;
begin
Write('Podaj Imie : ');
readln(buffer.imie);
Write('Podaj Nazwisko :');
readln(buffer.Nazwisko);
Write('Podaj Wiek :');
readln(buffer.Wiek);
end;
Procedure AddNew(buff:Tdane);
var
indx, curlen : integer;
buffer : tdane;
begin
curlen :=high(base)+1;
SetLength(Base,Curlen);
indx:=high(base);
buffer :=buff;
base[indx]:=buffer;
saverecord(buff,buff.Imie);
cleanbuffer;
end;
Procedure LoadRecord(PName:String);
var
curlen,indx:integer;
Plik : Text;
s : string[100];
begin
assign(Plik,PName+'.txt');
reset(plik);
readln(plik,s);
buffer.imie :=s;
readln(plik,s);
buffer.nazwisko:=s;
readln(plik,s);
val(s,buffer.wiek);
close(plik);
curlen :=high(base)+1;
SetLength(Base,Curlen);
indx:=high(base);
base[indx]:=buffer;
end;
Procedure ShowArray(bName:string);
begin
LoadRecord(bName);
writeln(buffer.imie);
writeln(buffer.Nazwisko);
writeln(buffer.Wiek);
end;
begin
clrscr;
setlength(base,1);
Writeln('Baza Danych , wybierz co chcesz zrobi :');
Writeln(#13);
Writeln('[1] - Dodaj nowa pozycje w bazie');
Writeln('[2] - Wyswietl okreslona pozycje Pozycje');
Writeln('[3] - Zaladuj nowy element bazy z pliku');
readln(w);
if w = '1' then
begin
Writeln('Wybrano dodanie nowej pozycji do bazy...');
CreateBuffer;
AddNew(Buffer);
CleanBuffer;
end;
if w = '2' then
begin
writeln('Kt˘ra pozycje w bazie chcesz wyswietli ?');
readln(tag);
write('Imie :',base[tag].imie);
write('Nazwisko :',base[tag].Nazwisko);
write('Wiek :',base[tag].Wiek);
end;
if w = '3' then
begin
write('Podaj Nazwe Pliku (bez rozszerzenia) :');
readln(path);
loadrecord(path);
end;
readln;
end.