Информация о сотрудниках фирмы включает: Ф.И.О., табельный номер, количество проработанных часов за месяц, почасовый тариф. Рабочее время свыше 144 часов считается сверхурочным и оплачивается в двойном размере. Вывести размер заработной платы каждого сотрудника фирмы за вычетом подоходного налога, который составляет 12 % от суммы заработка.
procedure TForm1.Button1Click(Sender: TObject);
begin
nomerzap:=nomerzap+1;
with work[nomerzap] do begin
Fio:=Edit1.Text;
number:=strtoint(edit2.Text);
hours:=strtoint(edit3.Text);
tarif:=strtoint(edit4.Text);
zp:=(hours*tarif);
procedure TForm1.Button2Click(Sender: TObject);
begin
OpenDialog1.Title := 'Создать новый файл';
// Изменение заголовка окна диалога
if OpenDialog1.Execute then
// Выполнение стандартного диалога выбора имени файла
begin
Memo1.Lines.Add('ФИО сотрудника'+' '+'Табельный номер'+' '+ 'Кол-во отработанных часов'+' '+'Почасовый тариф');
FileNameZ := OpenDialog1.FileName;
// Возвращение имени дискового файла
AssignFile(Fz, FileNameZ);
// Связывание файловой переменной Fz с именем файла
Rewrite(Fz); //Создание нового файла
Button1.Show; //Сделать видимой кнопку "Ввести запись"
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if OpenDialog1.Execute then
//Выполнение стандартного диалога выбора имени файла
begin
FileNameZ := OpenDialog1.FileName;
// Возвращение имени дискового файла
AssignFile(Fz, FileNameZ);
// Связывание файловой переменной Fz с именем файла
Reset(Fz); //Открытие существующего файла
end;
While not EOF(fz) do
begin
nomerzap:=nomerzap+1;
Read(fz,work[nomerzap]);
with work[nomerzap] do
Memo1.Lines.Add(fio+' '+IntToStr(number)+' '+ FloatToStr(hours)+' '+FloatToStr(tarif));
end;
Button1.Show; //Сделать видимой кнопку "Ввести запись"
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
CloseFile(fz);
// Закрытие файла записей при нажатии на кнопку "Close"
end;
procedure TForm1.Button4Click(Sender: TObject);
var
i,j:word;
wr:Tworker;
begin
for I:=1 to nomerzap-1 do
for j:=i+1 to nomerzap do
if work[i].zp < work[j].zp then begin
wr:=work[i];
work[i]:=work[j];
work[j]:=wr;
end;
memo1.Clear;
for i:=1 to nomerzap do
with work[i] do
Memo1.Lines.Add(IntToStr(i)+' '+fio+' '+FloatToStrf(zp,fffixed,4,2));
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 nomerzap do
with work[i] do Writeln(Ft,i:4,'. ',fio,zp:8:2);
CloseFile(Ft);
end;