Автор: Пользователь скрыл имя, 30 Октября 2011 в 21:28, курсовая работа
В данной работе представлено прикладное программное обеспечение, которое позволяет автоматизировать расчет заработной платы.
Данный программный продукт предназначен, прежде всего, для ведения данных:
Справочник штрафов, премий и кредитов.
Список сотрудников организации
Табель учета рабочего времени
Данная программа не является универсальной
begin
Form5.ComboBox1.items.Add(
end;
end;
Form1.Table1.Next;
end;
if not netdb then
begin
Form5.Caption:='Добавление в таблицу "Рабочие дни"';
Form5.Combobox1.Text:='
Form5.ShowModal;
end
else showmessage('У всех есть рабочие дни!');
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
Deistvie;
knopka;
end;
//Кнопка "редактирование"
procedure TForm4.Button8Click(Sender: TObject);
begin
Form5.ComboBox1.Clear;
Table1.First;
While not Table1.Eof do
begin
Form5.ComboBox1.items.Add(
Table1.Next;
end;
redaktir:=true;
Form5.ComboBox1.Text:='
Form5.Caption:='
Form5.ShowModal;
end;
end.
Код
модуля Unit5
unit Unit5;//Редактирование/
interface
// Подключаемые библеотеки
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type //Описание объектов
TForm5 = class(TForm)
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
Function vedomost(Tabnom:string; kod:integer):String;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
// Подключаемые модули
uses Unit4, // Модуль окна "Рабочие дни"
Unit6, // Модуль окна "Начисление и удержание"
Unit1, // Модуль окна "Сотрудники"
Unit8; // Модуль окна "Учетная ведомость"
{$R *.dfm}
// Кнопка "Отмена"
procedure TForm5.Button2Click(Sender: TObject);
begin
close;
end;
// Функция для
расчета и составления
Function TForm5.vedomost(Tabnom:string; kod:integer):String;
var
Yderzhan:real;
Nachisl1:real;
Nachisl2:real;
Znachenie:real;
Zarplat:real;
oklad:real;
name:string;
zarplat2:real;
begin
Yderzhan:=0;
Nachisl1:=0;
Nachisl2:=0;
Znachenie:=0;
Zarplat:=0;
name:='';
oklad:=0;
//Нахождение
рабочих дней у данного
if kod = 0 then
begin
Form4.Table1.First;
While not form4.Table1.Eof do
begin
if tabnom = Form4.Table1.FieldByName('
kod:=Form4.Table1.FieldByName(
Form4.Table1.Next;
end;
end;
// нахождение признаков у этого табельного номера
Form6.Table1.First;
While not Form6.Table1.Eof do
begin
if Tabnom = Form6.Table1.FieldByName('
begin
if Form6.Table1.FieldByName('
Yderzhan:=Yderzhan+
Form6.Table1.FieldByName('
else Nachisl1:=Nachisl1+Form6.
end;
Form6.Table1.Next;
end;
// нахождение оклада и ФИО
Form1.Table1.First;
While not Form1.Table1.eof do
begin
if Tabnom = Form1.Table1.FieldByName('
begin
oklad:=Form1.Table1.
name:= Form1.Table1.FieldByName('Fio'
end;
Form1.Table1.Next;
end;
Form8.Table1.First;
While not Form8.Table1.Eof do
begin
if Form8.Table1.FieldByName('
Form8.Table1.Delete;
Form8.Table1.Next;
end;
//Расчет зарплаты
Zarplat:=(Oklad/25)*kod;
//Расчет начислений
Nachisl2:=(Nachisl1)+((
//Расчет удержаний
zarplat2:=((((zarplat+
((zarplat+Nachisl2)/100))-
//Запись в таблицу
Form8.Table1.Insert;
Form8.Table1.Edit;
Form8.Table1.SetFields([nil,
zarplat2,
((zarplat+Nachisl2)-zarplat2)]
Form8.Table1.Post;
// Если таблица "Учетная ведомость" открыта то обновляем Таблицу(Stringgrid)
if not Form8.ShowHint then Form8.ComboBox1Change(self);
close;
end;
//Кнопка "Сохранить"
procedure TForm5.Button1Click(Sender: TObject);
begin
//Проверка на заполнение полей
if (combobox1.Text = 'Выбрать') or (combobox2.Text = 'Выбрать') then
begin
ShowMessage('Выберете все поля!');
Exit;
end;
// Если редактируем
if Form4.redaktir then
begin
form4.Table1.First;
while not Form4.Table1.Eof do
begin
if Form4.Table1.FieldByName('
Form4.Table1.Delete;
Form4.Table1.Next;
end;
end;
Form4.Table1.Insert;
Form4.Table1.Edit;
Form4.Table1.SetFields([
Form4.Table1.Post;
Form4.Table1.Refresh;
vedomost(Combobox1.Text,
if not Form8.ShowHint then Form8.ComboBox1Change(self);}
close;
end;
procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Combobox2.Text:='Выбрать';
Form4.knopka;
Form4.Deistvie;
Combobox2.Enabled:=false;
Form4.redaktir:=false;
end;
procedure TForm5.ComboBox1KeyPress(
begin
key:=#0;
end;
procedure TForm5.ComboBox2KeyPress(
begin
key:=#0;
end;
procedure TForm5.ComboBox1Change(Sender: TObject);
begin
Combobox2.Enabled:=true;
//Если редактируем
if (Combobox1.Text <> 'Выбрать') and (Form4.redaktir) then
begin
Form4.Table1.First;
While not Form4.Table1.Eof do
begin
if Form4.Table1.FieldByName('
begin
//
Высвечиваем его текущие
Combobox2.Text:=Form4.Table1.
exit;
end;
Form4.Table1.Next;
end;
end;
end;
procedure TForm5.FormCreate(Sender: TObject);
begin
Combobox2.Enabled:=false;
end;
end.
Код
модуля Unit6
unit Unit6; // окно "Начисление
и удержание"
interface
uses //Подключение библеотек
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables,
Grids, DBGrids, StdCtrls, ExtCtrls;
type // Описание объектов
TForm6 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Button8: TButton;
Button7: TButton;
Button6: TButton;
Button5: TButton;
Button4: TButton;
Button3: TButton;
Button2: TButton;
Button1: TButton;
Button9: TButton;
DBGrid1: TDBGrid;
Table1: TTable;
DataSource1: TDataSource;
Label2: TLabel;
procedure knopka;
procedure Deistvie;
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
private
{ Private declarations }
public
redact:Boolean;
{ Public declarations }
end;
var
Form6: TForm6;
implementation
//Подключаемые модули
uses Unit1, // модуль окна "Сотрудники"
Unit7, // модуль редактирование, добавление таблицы "Начисление и удержание"
Unit4, // модуль окна "Рабочие дни"