Расчет заработной платы

Автор: Пользователь скрыл имя, 30 Октября 2011 в 21:28, курсовая работа

Описание работы

В данной работе представлено прикладное программное обеспечение, которое позволяет автоматизировать расчет заработной платы.

Данный программный продукт предназначен, прежде всего, для ведения данных:
Справочник штрафов, премий и кредитов.
Список сотрудников организации
Табель учета рабочего времени

Данная программа не является универсальной

Работа содержит 1 файл

Курсовая.doc

— 1.09 Мб (Скачать)

close;

end; 

procedure TForm2.LabeledEdit2KeyPress(Sender: TObject; var Key: Char);

begin

ControlBykv(key,LabeledEdit2.Text);

end; 

procedure TForm2.LabeledEdit4KeyPress(Sender: TObject; var Key: Char);

begin

ControlBykv(key,LabeledEdit4.Text);

end; 

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

beginv 

LabelEdEdit2.Clear;

LabelEdEdit3.Clear;

LabelEdEdit4.Clear;

Form1.knopka;

Form1.Deistvie;

end; 

end.

 

Код модуля Unit3 

unit Unit3; // окно редактирование таблицы "Сотрудники" 

interface 

uses // Подключение  библеотек

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ExtCtrls; 

type // Описание  объектов

  TForm3 = class(TForm)

    ComboBox1: TComboBox;

    Label1: TLabel;

    LabeledEdit1: TLabeledEdit;

    LabeledEdit2: TLabeledEdit;

    LabeledEdit3: TLabeledEdit;

    Button1: TButton;

    Button2: TButton;

    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);

    procedure ComboBox1Change(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure LabeledEdit2KeyPress(Sender: TObject; var Key: Char);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure LabeledEdit1KeyPress(Sender: TObject; var Key: Char);

    procedure LabeledEdit3KeyPress(Sender: TObject; var Key: Char);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form3: TForm3; 

implementation 

//Подключаемые  модули

uses Unit1, // Модуль окна "Сотрудники"

     Unit2, // Модуль окна добавление в таблицу "Сотрудники"

        Unit5; // Модуль окна редактрование/добавление "в таблицу Сотрудники" 

{$R *.dfm} 

procedure TForm3.ComboBox1KeyPress(Sender: TObject; var Key: Char);

begin

key:=#0; //запрет ввода в поле табельного номера

end; 
 

procedure TForm3.ComboBox1Change(Sender: TObject);

begin

Form1.Table1.First;

While not Form1.Table1.eof do

begin

  if ComboBox1.Text = Form1.Table1.FieldByName('Tabnom').AsString then

  begin

  // Заполняем  поля Оклад, ФИО,Отдел 

    Labelededit2.Text:=Form1.Table1.FieldByName('Oklad').AsVariant;

    Labelededit1.Text:=Form1.Table1.FieldByName('FIO').AsString;

    Labelededit3.Text:=Form1.Table1.FieldByName('Otdel').AsString;

  end;

Form1.Table1.Next;

end;

end; 

//Кнопка "Отмена"

procedure TForm3.Button2Click(Sender: TObject);

begin

Close;

end;

//Кнопка "Сохранить"

procedure TForm3.Button1Click(Sender: TObject);

begin 

//Проверка на  заполнение полей

if (LabeledEdit1.Text='') or (LabeledEdit2.Text='') or

(LabeledEdit3.Text='') or (ComboBox1.Text = 'Выбрать') then

begin

  ShowMessage('Заполните все поля!');

  exit;

end; 

Form1.Table1.First;

While not Form1.Table1.Eof do

begin

  if Form1.Table1.FieldByName('Tabnom').AsString = Combobox1.Text then

  //Удаляем строку что бы строка не повторялась

  Form1.Table1.Delete;

  Form1.Table1.Next;

end;

//Делаем запись  строки

Form1.Table1.Insert;

Form1.Table1.Edit;

Form1.Table1.SetFields([ComboBox1.Text,Labelededit1.text,strtofloat(LabelEdEdit2.text),Labelededit3.text]);

Form1.Table1.Post;

Form1.Table1.Refresh;

Form5.vedomost(Combobox1.Text,0);

close;

end; 

procedure TForm3.LabeledEdit2KeyPress(Sender: TObject; var Key: Char);

begin

Form2.controlMoney(key,LabeledEdit2.Text);

end; 

procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);

begin

//Очистка всех  полей

LabelEdEdit1.Clear;

LabelEdEdit2.Clear;

LabelEdEdit3.Clear;

Form1.knopka;

end; 

procedure TForm3.LabeledEdit1KeyPress(Sender: TObject; var Key: Char);

begin

Form2.ControlBykv(key,LabeledEdit1.Text);

end; 

procedure TForm3.LabeledEdit3KeyPress(Sender: TObject; var Key: Char);

begin

Form2.ControlBykv(key,LabeledEdit3.Text);

end; 

end.

 

Код модуля Unit4 

unit Unit4; //окно "Рабочие дни"

interface 

uses //Подключение  библеотек

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls, ExtCtrls; 

type // Описание объектов

  TForm4 = class(TForm)

    Panel1: TPanel;

    Label1: TLabel;

    Button8: TButton;

    Button7: TButton;

    Button6: TButton;

    Button5: TButton;

    Button4: TButton;

    Button3: TButton;

    Button2: TButton;

    Button1: TButton;

    DBGrid1: TDBGrid;

    Table1: TTable;

    DataSource1: TDataSource;

   Label2: TLabel;

    procedure Deistvie;

    procedure knopka;

    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 Button2Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure Button8Click(Sender: TObject);

  private 

    { Private declarations }

  public

  redaktir:boolean;

    { Public declarations }

  end; 

var

  Form4: TForm4;

 

implementation 

//Подключаемые  модули

uses Unit1, // Модуль  окна "Сотрудники"

     Unit5, // Модуль окна редактрование/добавление в таблицу "Рабочие дни"

     Unit8; // модуль окна "Учетная ведомость" 

{$R *.dfm} 

// Процедура  для блокирования некоторых кнопок 

procedure TForm4.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 TForm4.Deistvie;

begin

  Table1.First;

  if Table1.FieldByName('Tabnom').AsString = '' then

  begin

  Button1.Enabled:=false;

  Button3.Enabled:=false;

  Button4.Enabled:=false;

  Button5.Enabled:=false;

  Button6.Enabled:=false;

  Button8.Enabled:=false;

  end;

end; 

//Кнопка "Назад"

procedure TForm4.Button3Click(Sender: TObject);

begin

Table1.Prior;

knopka;

end; 

//Кнопка "Вперед"

procedure TForm4.Button4Click(Sender: TObject);

begin

Table1.Next;

knopka;

end; 

//Кнопка "Начало"

procedure TForm4.Button5Click(Sender: TObject);

begin

Table1.First;

knopka;

end; 

//Кнопка "Конец"

procedure TForm4.Button6Click(Sender: TObject);

begin

Table1.Last;

knopka;

end; 

//Закрытие окна "Рабочие дни"

procedure TForm4.Button7Click(Sender: TObject);

begin

close;

end; 

//Кнопка "Удалить"

procedure TForm4.Button1Click(Sender: TObject);

var

    tabnom:string;

begin

if MessageDlg('Вы точно  хотите удалить?', mtConfirmation, [mbYes, mbNo], 0)=mrYes then

begin

  tabnom:= Table1.FieldByName('Tabnom').AsString;

  Table1.Delete;

  Form5.vedomost(tabnom,0);

end;

knopka;

Deistvie; 

end; 

//Кнопка "Добавить"

procedure TForm4.Button2Click(Sender: TObject);

var

    i:integer;

    povtor:Boolean;

    netdb:boolean;

begin

Form5.ComboBox1.Clear;

Form1.Table1.First;

While not Form1.Table1.Eof do

begin

netdb:= true;

Povtor:=false;

  For i:=0 to Form5.ComboBox1.Items.Count - 1 do

  begin

    if Form1.Table1.FieldByName('Tabnom').AsString = Form5.ComboBox1.Items[i] then

    povtor:=true;

  end;

  if not povtor then

  begin

  netdb:=false;

    Table1.First;

    While not table1.Eof do

    begin

      if Form1.Table1.FieldByName('Tabnom').AsString = Table1.FieldByName('Tabnom').AsString then

      povtor:= true;

      Table1.Next;

    end;

    if not povtor then

Информация о работе Расчет заработной платы