unit lab6;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, StdCtrls;

type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Button1: TButton;
Button2: TButton;
BitBtn1: TBitBtn;
Edit1: TEdit;
Label1: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Memo1: TMemo;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;
type
twork=record
fio:string[40];
otd:integer;
dolg:string[40];
dat:integer;
end;
var
fz:file of twork;
ft:textfile;
work:array[1..100] of twork;
nzap:integer;
filenameZ,filenameT:string;
var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
memo1.Clear;
button1.Hide;
nzap:=0;

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
nzap:=nzap+1;
with work[nzap] do begin
fio:=edit1.Text;
otd:=strtoint(edit2.text);
dolg:=edit3.text;
dat:=strtoint(edit4.text);
memo1.Lines.Add(fio+' '+inttostr(otd)+' '+dolg+' '+inttostr(dat));
end;
write(fz,work[nzap]);
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
opendialog1.Title:='создать новый файл';
if opendialog1.Execute then
begin
filenamez:=opendialog1.FileName;
assignfile(fz,filenamez);
rewrite(fz);
end;
button1.Visible:=true;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
if opendialog1.Execute then
begin
filenamez:=opendialog1.FileName;
assignfile(fz,filenamez);
reset(fz);
end;
while not eof(fz) do begin
nzap:=nzap+1;
read(fz,work[nzap]);
with work[nzap] do
memo1.Lines.Add(fio+' '+inttostr(otd)+' '+dolg+' '+inttostr(dat));
end;
button1.Visible:=true;
end;


procedure TForm1.Button5Click(Sender: TObject);
var i:word;
begin
if savedialog1.Execute then
begin
filenamet:=savedialog1.FileName;
assignfile(ft,filenamet);
rewrite(ft);
end;
for i:=1 to nzap do
with work[i] do writeln(ft,i:4,'.',fio,otd,dolg,dat);
closefile(ft);
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
closefile(fz);
end;

procedure TForm1.Button1Click(Sender: TObject);
var i,j:word;
wr:twork;
begin
for i:=1 to nzap-1 do
for j:=i+1 to nzap do
if work[i].dat>work[j].dat then begin
wr:=work[i];
work[i]:=work[j];
work[j]:=wr;
end;
memo1.Clear;
for i:=1 to nzap do
with work[i] do
memo1.Lines.Add(fio+' '+inttostr(otd)+' '+dolg+' '+inttostr(dat));
memo1.Lines.Add('отсортировано по убыванию стажа,');
memo1.Lines.Add('т.е. по возрастанию года начала работы');
end;

end.
Соседние файлы в папке Сотрудники предприятия 2
  • #
    15.06.20148.6 Кб67lab6.dcu
  • #
    15.06.20141.72 Кб66lab6.dfm
  • #
    15.06.20143.27 Кб66lab6.pas
  • #
    15.06.2014932 б67laba6.dof
  • #
    15.06.2014183 б66laba6.dpr
  • #
    15.06.2014876 б67laba6.res
  • #
    15.06.2014480 б66main.dat