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

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

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

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

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

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

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

Курсовая.doc

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

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

  Form8.Table1.Delete;

  Form8.Table1.Next;

end;

//Удаление сотрудника  из таблицы "Сотрудники"

Table1.Delete;

Form1.knopka;

Deistvie;

end;

end; 

//Кнопка закрытия  программы

procedure TForm1.Button7Click(Sender: TObject);

begin

close;

end; 

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

procedure TForm1.Button3Click(Sender: TObject);

begin

Table1.Prior;

knopka;

end;

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

procedure TForm1.Button4Click(Sender: TObject);

begin

Table1.Next;

knopka;

end; 

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

procedure TForm1.Button5Click(Sender: TObject);

begin

Table1.First;

knopka;

end; 

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

procedure TForm1.Button6Click(Sender: TObject);

begin

Table1.Last;

knopka;

end; 

//кнопка "Добавления"

procedure TForm1.Button2Click(Sender: TObject);

begin

Form2.ShowModal;

end; 

//кнопка "Редактирование"

procedure TForm1.Button8Click(Sender: TObject);

begin

Form3.ComboBox1.Clear;

Table1.First;

While not Table1.Eof do

begin

  Form3.ComboBox1.items.Add(Table1.FieldByName('Tabnom').AsString);

  Table1.Next;

end;

Form3.ComboBox1.Text:='Выбрать';

Form3.ShowModal;

end; 

//создание алиаса

procedure TForm1.FormCreate(Sender: TObject);

var

  aparams:tstringlist;

  dir:string;

begin

//image2.Picture.LoadFromFile('img/admin.jpg');

// Путь где  лежит данная программа

dir:=extractfilepath(paramstr(0));

aparams:=tstringlist.create;

if not Session1.IsAlias('kyrsovaia') then

      begin

      Session1.AddStandardAlias('kyrsovaia',dir,'paradox');

      end

else

      try

      begin

      aparams.clear;

      aparams.add('path='+dir);

      Session1.modifyalias('kyrsovaia',aparams);

      Session1.saveconfigfile;

      end;

finally

aparams.free;

end; 
 

Deistvie;

knopka;

//Form9.Show;

end; 

//Кнопка для  открытия окна "Рабочие дни"

procedure TForm1.N3Click(Sender: TObject);

begin

Form4.Show;

end; 
 

// Кнопка для открытия окна "Начисление и удержание"

procedure TForm1.N5Click(Sender: TObject);

begin

Form6.Show;

end; 

// Кнопка для  открытия окна "Расчетная ведомость"

procedure TForm1.N6Click(Sender: TObject);

var i:integer;

    sumzar:real;

    sumnach:real;

    sumyder:real;

    sumnar:real;

begin

    sumzar:=0;

    sumnach:=0;

    sumyder:=0;

    sumnar:=0;

      // Очистка Stringgrid

For i:=1 to Form8.StringGrid1.RowCount do

Form8.StringGrid1.Rows[i].Clear;

Form8.Stringgrid1.RowCount:=2;

i:=0;

// Заполнение Stringgrid записями с таблицы "Учетная ведомость" (sved.db)

  Form8.Table1.First;

  While not Form8.table1.Eof do

  begin

      inc(i);

      Form8.Stringgrid1.RowCount:=Form8.Stringgrid1.RowCount+1;

      Form8.Stringgrid1.Cells[0,i]:=Form8.Table1.FieldByname('Tabnom').AsString;

      Form8.ComboBox2.Items.Add(Form8.Table1.FieldByname('Fio').AsString);

      Form8.Stringgrid1.Cells[1,i]:=Form8.Table1.FieldByname('Fio').AsString;

      Form8.Stringgrid1.Cells[2,i]:=Form8.Table1.FieldByname('Oklad').AsString;

      Form8.Stringgrid1.Cells[3,i]:=Form8.Table1.FieldByname('Kod').AsVariant;

      Form8.Stringgrid1.Cells[4,i]:=Form8.Table1.FieldByname('Zarplat').AsVariant;

      sumzar:=sumzar+Form8.Table1.FieldByname('Zarplat').AsVariant;

      Form8.Stringgrid1.Cells[5,i]:=Form8.Table1.FieldByname('Nachisl').AsVariant;

      sumnach:=sumnach+Form8.Table1.FieldByname('Nachisl').AsVariant;

                     Form8.Stringgrid1.Cells[6,i]:=Form8.Table1.FieldByname('Yderzhan').AsVariant;

      sumyder:=sumyder+Form8.Table1.FieldByname('Yderzhan').AsVariant;

      Form8.Stringgrid1.Cells[7,i]:=Form8.Table1.FieldByname('Na_ryki').AsVariant;

      sumnar:=sumnar+Form8.Table1.FieldByname('Na_ryki').AsVariant;

      Form8.Table1.Next;

  end;

    inc(i);

      Form8.Stringgrid1.RowCount:=Form8.Stringgrid1.RowCount+1;

        // Вывод общей сыммы зарплаты. начислений, удержаний, на руки

  Form8.Stringgrid1.Cells[3,i]:='Итог';

  Form8.Stringgrid1.Cells[4,i]:=floattostr(sumzar);

  Form8.Stringgrid1.Cells[5,i]:=floattostr(sumnach);

  Form8.Stringgrid1.Cells[6,i]:=floattostr(sumyder);

  Form8.Stringgrid1.Cells[7,i]:=floattostr(sumnar);

Form8.Stringgrid1.RowCount:=Form8.Stringgrid1.RowCount-1;

Form8.ViborOtdel; 
 

Form8.Show;

end; 

//Смена учетной  записи, переход на окно "Вход"

procedure TForm1.N7Click(Sender: TObject);

begin

Form9.Show;

end; 

//Закрытие программы

procedure TForm1.N8Click(Sender: TObject);

begin

Close;

end; 

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

begin

Form9.Close;

end; 

end. 

 

Код модуля Unit2 

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

interface

 

uses // Подключаемые  библеотеки

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

  Dialogs, StdCtrls, ExtCtrls; 

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

  TForm2 = class(TForm)

    LabeledEdit2: TLabeledEdit;

    LabeledEdit3: TLabeledEdit;

    LabeledEdit4: TLabeledEdit;

    Button1: TButton;

    Button2: TButton;

    Function ControlBykv(var key:char;  strok:string):String;

    Function controlMoney(var key:char;  strok:string):string;

    procedure Button1Click(Sender: TObject);

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

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

    procedure Button2Click(Sender: TObject);

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

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

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

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form2: TForm2; 

implementation

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

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

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

        Unit6, // модуль окна "Начисление и удержание"

        Unit4; // модуль окна "Рабочие дни" 

{$R *.dfm} 

// Функция для  контроля ввода букв

Function TForm2.ControlBykv(var key:char;  strok:string):String;

Begin

if length(strok) < 20 then

begin

  if not (key in ['a'..'z','A'..'Z','а'..'я','А'..'Я',#8,#46,#32]) then key:=#0;

end

else key:=#0;

end; 

// функция для  контроля ввода денег

Function TForm2.controlMoney(var key:char;  strok:string):string;

begin

if (length(strok) > 10) and (key <> #8) then

begin

key:=#0;

exit

end;

if key = '.' then key:=',';

if ((pos(',',strok) <> 0))   then

  if key = #44 then key:=#0;

if (not (key in ['0'..'9',#8,#44,#45]))  then key:=#0;

end; 
 

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

procedure TForm2.Button1Click(Sender: TObject);

var

  Tabel_nom_cimv:string;

  Tabel_nom:string;

  Tab:string;

  Podschet:integer;

begin

// Проверка на  заполненность полей

if  (LabeledEdit2.Text='') or

(LabeledEdit3.Text='') or (LabeledEdit4.Text='') then

begin

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

  exit;

end; 

Form1.Table1.First;

  Tabel_nom_cimv:=Labelededit2.text;

  Tabel_nom:=Tabel_nom_cimv[1]+'-';

  while (not  Form1.Table1.eof)  do

  begin //   пока не конец табл

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

    if tab[1] = Tabel_nom_cimv[1] then inc(Podschet);

    Form1.Table1.Next;

  end;

  Tabel_nom:=Tabel_nom + inttostr(podschet); 

// записываем  в таблицу

Form1.Table1.Insert;

Form1.Table1.Edit;

Form1.Table1.SetFields([Tabel_nom,Labelededit2.text,strtofloat(LabelEdEdit3.text),Labelededit4.text]);

Form1.Table1.Post;

Form1.Table1.Refresh; 
 
 
 
 

close;

end; 

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

begin

controlMoney(key,LabeledEdit3.Text);

if key = '-' then key:=#0;

end; 

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

begin 

LabeledEdit2.Clear;

LabeledEdit3.Clear;

LabeledEdit4.Clear;

end; 

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

procedure TForm2.Button2Click(Sender: TObject);

begin

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