Tak jsem se zasekl u seřazení. Nevíte jak na něj?
Prozatím mám:
type
TZaznam = record
JMENO: String[20];
VEK: Integer;
OSOBNICISLO: Integer;
PLAT: real;
end;
TSoubor = file of TZaznam;
const
JmenoSoub = 'Prac.dat';
var
zaznam: TZaznam;
soubor: TSoubor;
procteni: Boolean;
procedure Zobraz;
begin
form1.edit2.Text:= zaznam.jmeno;
form1.edit3.Text:= IntToStr(zaznam.vek);
form1.edit4.Text:= FloatToStr(zaznam.plat);
form1.edit1.text:=IntToStr(zaznam.osobnicislo);
end;
procedure ZapsatDoSouboru
(var t: TextFile;OsobniCislo:string;JmenoAprijmeni:string;Vek:integer;Plat:real);
begin
writeln(t, ' Osobní číslo........:' ,zaznam.OsobniCislo);
writeln(t, ' Jméno a příjmení....:' ,zaznam.Jmeno);
writeln(t, ' Věk.................:' ,IntToStr(zaznam.Vek));
writeln(t, ' Plat................:' ,FloatToStr(zaznam.Plat));
writeln(t, ' Další záznam');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
begin
if procteni then closefile(soubor);
{$i-}
reset(soubor);
{$i+}
if IOResult <> 0 then
Showmessage('Soubor neexistuje')
else begin
read(soubor, zaznam);
Zobraz;
procteni:= True;
self.button2.Enabled:= True;
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if not procteni then reset(soubor);
if not eof(soubor) then begin
read(soubor, zaznam);
Zobraz;
procteni:= True;
end
else
ShowMessage('Konec souboru');
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
self.edit2.Text:='';
self.edit3.Text:='';
self.edit1.Text:='';
self.edit2.SetFocus;
self.edit4.Text:='';
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
if procteni then closefile(soubor);
procteni:= False;
{$i-}
reset(soubor);
{$i+}
if IOResult = 0 then
seek(soubor,filesize(soubor))
else
rewrite(soubor);
zaznam.jmeno:= self.edit2.Text;
zaznam.vek:= StrToInt(self.edit3.Text);
zaznam.osobnicislo:= Strtoint(self.edit1.text);
zaznam.plat:= StrToFloat(self.edit4.Text);
write(soubor, zaznam);
CloseFile(soubor);
self.edit2.Text:= '';
self.edit3.Text:= '';
self.edit1.text:= '';
self.edit2.SetFocus;
self.edit4.Text:= '';
end;
procedure TForm1.Button8Click(Sender: TObject);
var
t:textfile;
begin
if Savedialog1.Execute then begin
AssignFile(t,Savedialog1.FileName);
Rewrite(t);
ZapsatDOsouboru (t,zaznam.OsobniCislo,zaznam.Jmeno,zaznam.Vek,zaznam.plat);
CloseFile(t);
end else
showmessage('Chyba otevírání souboru pro zápis');
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
close
end;
procedure TForm1.Edit3Exit(Sender: TObject);
begin
if (StrToInt(self.edit3.Text)<21) or (StrToInt(self.edit3.Text)>60) then begin
ShowMessage('Chyba ve věku.');
self.edit3.SetFocus;
end;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
AssignFile(soubor,JmenoSoub);
procteni:= False;
self.button2.Enabled:= False;
end;
end.