Umiestnenie súboru www.TrSek.com/cover/neznamy/bezci1.pas{ BEZCI1.PAS }
{ Program umoznuje zadavat casy jednotlivym bezcom. }
{ }
{ Datum:02.12.2008 http://www.trsek.com }
program BEZCI1;
uses crt;
type
zavodnik=record
jmeno:string[15];
prijmeni:string[15];
cas:real;
end;
var
bezec:zavodnik;
f,g:file of zavodnik;
i,vel:integer;
odpoved:char;
zadani:string[15];
soubor:string;
trideno:boolean;
procedure inicializace;
begin
clrscr;
write('Zadejte jmeno suboru: ');
readln(soubor);
assign(f,soubor);
{$I-}
reset(f);
{$I+}
if ioresult<>0 then rewrite(f);
close(f);
end;
procedure trid;
var a,b,p:zavodnik;
prohoz:boolean;
begin
reset(f);
vel:=filesize(f);
close(f);
repeat
prohoz:=false;
for i:=0 to (vel-2)do begin
reset(f);
seek(f,i);
read(f,a);
read(f,b);
close(f);
if a.cas>b.cas then begin
p:=b;
b:=a;
a:=p;
prohoz:=true;
end;
reset(f);
seek(f,i);
write(f,a);
write(f,b);
close(f);
end;
until prohoz=false;
trideno:=true;
end;
procedure vypis;
begin
clrscr;
if not trideno then trid;
reset(f);
for i:=1 to filesize(f) do begin
read(f,bezec);
with bezec do begin
write(cas:8:2);
write(jmeno:15);
writeln(prijmeni:15);
end;
end;
close(f);
repeat until keypressed;
end;
procedure pridat;
begin
reset(f);
seek(f,filesize(f));
repeat
clrscr;
with bezec do begin
write('Zadajte cas bezce: ');
readln(cas);
write('Zadajte jmeno bezce: ');
readln(jmeno);
write('Zadaj prijmeni bezce: ');
readln(prijmeni);
end;
write(f,bezec);
writeln;
writeln('Dalsi zaznam? A/N');
until upcase(readkey)<>'A';
for i:=1 to filesize(f) do begin
read(f,bezec);
if zadani=bezec.prijmeni then
with bezec do begin
write(prijmeni:15);
write(jmeno:15);
writeln(cas:8:2);
end;
end;
close(f);
repeat until keypressed;
end;
procedure odstranit;
begin
clrscr;
assign(g,'tmp.tmp');
write('Zadejte prijmeni: ');
readln(zadani);
writeln;
reset(f);
rewrite(g);
for i:=1 to filesize(f) do begin
read(f,bezec);
if bezec.prijmeni=zadani then
writeln('Bezec ',bezec.prijmeni,' byl odstranen ze zeznamu')
else write(g,bezec);
end;
close(f);
close(g);
rewrite(f);
reset(g);
for i:=1 to filesize(g) do begin
read(g,bezec);
write(f,bezec);
end;
close(f);
close(g);
erase(g);
repeat until keypressed;
end;