Автор: Пользователь скрыл имя, 30 Октября 2011 в 21:28, курсовая работа
В данной работе представлено прикладное программное обеспечение, которое позволяет автоматизировать расчет заработной платы.
Данный программный продукт предназначен, прежде всего, для ведения данных:
Справочник штрафов, премий и кредитов.
Список сотрудников организации
Табель учета рабочего времени
Данная программа не является универсальной
Unit5; // модуль рудактирование. добавление
таблицы "Рабочие дни"
{$R *.dfm}
// Процедура
для блокирования некоторых
procedure TForm6.knopka;
begin
if table1.recno = 1 then
begin
Button3.Enabled:=False;
Button5.Enabled:=False;
end else
begin
Button3.Enabled:=true;
Button5.Enabled:=true;
end;
if table1.recno = table1.RecordCount then
begin
Button4.Enabled:=False;
Button6.Enabled:=False;
end else
begin
Button4.Enabled:=true;
Button6.Enabled:=true;
end;
end;
//Процедура для блокирование всех кнопок
procedure TForm6.Deistvie;
begin
Table1.First;
if Table1.FieldByName('Tabnom').
begin
Button1.Enabled:=false;
Button3.Enabled:=false;
Button4.Enabled:=false;
Button5.Enabled:=false;
Button6.Enabled:=false;
Button8.Enabled:=false;
end else knopka;
end;
//кнопка "Назад"
procedure TForm6.Button3Click(Sender: TObject);
begin
Table1.Prior;
knopka;
end;
//кнопка "Вперед"
procedure TForm6.Button4Click(Sender: TObject);
begin
table1.Next;
knopka;
end;
//кнопка "Начало"
procedure TForm6.Button5Click(Sender: TObject);
begin
Table1.First;
knopka;
end;
//кнопка "Конец"
procedure TForm6.Button6Click(Sender: TObject);
begin
Table1.Last;
knopka;
end;
//кнопка "Закрыть"
procedure TForm6.Button7Click(Sender: TObject);
begin
close;
end;
//кнопка "Удалить"
procedure TForm6.Button1Click(Sender: TObject);
Var
tabnom:string;
begin
if MessageDlg('Вы точно хотите удалить?', mtConfirmation, [mbYes, mbNo], 0)=mrYes then
Tabnom:=Table1.FieldByName('
Table1.Delete;
Form5.vedomost(Tabnom,0);
knopka;
Deistvie;
end;
procedure TForm6.FormCreate(Sender: TObject);
begin
redact:=false;
knopka;
Deistvie;
end;
//Кнопка "Добавить"
procedure TForm6.Button2Click(Sender: TObject);
begin
Form7.ComboBox1.Clear;
Form7.ComboBox2.Clear;
Form1.Table1.First;
While not Form1.Table1.Eof do
begin
//Заполнение всех полей содержащихся в таблице "Сотрудники"
Form7.ComboBox1.items.Add(
Form1.Table1.Next;
end;
Form7.ComboBox2.Items.Add('
Form7.ComboBox2.Items.Add('
Form7.ComboBox2.Items.Add('
Form7.ComboBox2.Items.Add('
Form7.ComboBox2.Text:='
Form7.Combobox1.Text:='
Form7.Caption:='Добавление в таблицу "Начисление и удержание"';
Form7.ShowModal;
end;
//Кнопка "Редактировать"
procedure TForm6.Button8Click(Sender: TObject);
var
povtor :Boolean;
i:integer;
begin
Form7.ComboBox1.Clear;
Table1.First;
While not Table1.Eof do
begin
povtor:=false;
for i:=0 to Form7.ComboBox1.Items.Count-1 do
Begin
if
(Table1.FieldByName('Tabnom').
Povtor:=true;//EditForm2.
end;
if (not povtor) then
//ддобавление
тех тебельных номеров.
Form7.ComboBox1.Items.Add(
Table1.Next;
end;
redact:=true;
Form7.Label3.Visible:=true;
Form7.combobox3.Visible:=true;
Form7.ComboBox1.text:='
Form7.ComboBox2.text:='
Form7.ComboBox3.text:='
Form7.Caption:='Редактирование таблицы "Начисление и удержание"';
Form7.ShowModal;
end;
end.
Код
модуля Unit7
unit Unit7; // окно редактирование/добавление
в таблицу "Начисление и удержание"
interface
uses //Подключение библеотек
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type // Описание объектов
TForm7 = class(TForm)
ComboBox1: TComboBox;
ComboBox2: TComboBox;
LabeledEdit1: TLabeledEdit;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
ComboBox3: TComboBox;
Label3: TLabel;
procedure ComboBox1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure LabeledEdit1KeyPress(Sender: TObject; var Key: Char);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
implementation
//Подключаемые модули
uses Unit6, //модуль окна "Начисление и удержание"
Unit2, //модуль окна добавления в таблицу "Сотрудники"
Unit5; //модуль редактирование/добавление
в таблицу "Рабочие дни"
{$R *.dfm}
procedure TForm7.ComboBox1Change(Sender: TObject);
var
i:integer;
begin
//Если редактирование
if Form6.redact then begin
i:=0;
ComboBox2.Clear;
Form6.Table1.First;
While not Form6.Table1.Eof do
begin
if(Form6.Table1.FieldByName('
begin
inc(i);
//Добавление в Combobox существующих у сотрудника признаков
ComboBox2.Items.Add(Form6.
end;
Form6.Table1.Next;
end;
if i = 1 then Combobox2.Text:=Combobox2.
else Combobox2.Text:='Выбрать';
end;
end;
procedure TForm7.Button1Click(Sender: TObject);
var
priznak:string;
begin
//Проверка на заполнение полей
if (combobox1.Text = 'Выбрать') or (combobox2.Text = 'Выбрать') or (LabelEdedit1.Text = '') then
begin
ShowMessage('Заполните все поля!');
Exit;
end;
//Если редактируем
if Form6.redact then
begin
if Combobox3.Text = 'Выбрать' then priznak:=Combobox2.text
else begin
Form6.Table1.First;
While not Form6.Table1.Eof do
begin
if (combobox3.Text = Form6.Table1.FieldByName('
(combobox1.Text = Form6.Table1.FieldByName('
then
if MessageDlg('Данный признак уже содержится у этого табельного номера'
+#13#10+'хотите заменить его?', mtConfirmation, [mbYes, mbNo], 0)=mrYes then
begin
priznak:=Combobox3.Text;
Form6.Table1.Delete;
end else exit;
Form6.Table1.Next;
end;
end;
Form6.Table1.Insert;
Form6.Table1.Edit;
Form6.Table1.SetFields([nil,
Form6.Table1.Post;
Form6.Table1.Refresh;
end else begin
Form6.Table1.First;
While not Form6.Table1.Eof do
begin
//проверка на такой же табельный номер и признак
if (Combobox1.Text =
Form6.Table1.FieldByName('
(Combobox2.Text = Form6.Table1.FieldByName('
Begin
ShowMessage('Данный признак уже содержится у этого табельного номера');
Exit;
end;
Form6.Table1.Next;
end;
Form6.Table1.Insert;
Form6.Table1.Edit;
Form6.Table1.SetFields([nil,
Form6.Table1.Post;
Form6.Table1.Refresh;
end;
//вызываем функцию
ведомость, для занесение
form5.vedomost(combobox1.Text,
close;
end;
procedure TForm7.LabeledEdit1KeyPress(
begin
Form2.controlMoney(key,
end;
procedure TForm7.Button2Click(Sender: TObject);
begin
Labelededit1.Clear;
close;
end;
procedure TForm7.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Labelededit1.Clear;
form6.redact:=false;
Label3.Visible:=false;
combobox3.Visible:=false;
Form6.knopka;
//Form6.Deistvie;
end;