на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Кадровий облік
nd;

procedure TForm1. RecToRow(Index,Row: Integer);

begin

if Row<1 then Exit;

StringGrid1. Rows [Row]. Clear;

StringGrid1. Cells [0,Row]: =IntToStr(Row);

StringGrid1. Cells [1,Row]: =IntToStr(Worker [Index]. TabN);

StringGrid1. Cells [2,Row]: =Worker [Index]. LastName;

StringGrid1. Cells [3,Row]: =Worker [Index]. Name;

StringGrid1. Cells [4,Row]: =Worker [Index]. Patronymic;

StringGrid1. Cells [5,Row]: =Worker [Index]. IndCode;

StringGrid1. Cells [6,Row]: =DataToStr(Worker [Index]. ReceptionData);

StringGrid1. Cells [7,Row]: =IntToStr(Worker [Index]. Experience);

if Worker [Index]. Exempt then

StringGrid1. Cells [8,Row]: =DataToStr(Worker [Index]. LiberationData);

StringGrid1. Cells [9,Row]: =Worker [Index]. PositionName;

StringGrid1. Cells [10,Row]: =Worker [Index]. DepartmentName;

StringGrid1. Cells [11,Row]: =Worker [Index]. SubsectionName;

end;

procedure TForm1. RefreshList;

var i: Integer;

begin

if WorkersCount=0 then begin

StringGrid1. RowCount: =WorkersCount+2;

StringGrid1. Rows [1]. Clear;

Button2. Enabled: =False;

Button3. Enabled: =False;

Exit;

end;

Button2. Enabled: =True;

if not CheckBox1. Checked then

Button3. Enabled: =True;

StringGrid1. RowCount: =WorkersCount+1;

for i: =0 to WorkersCount-1 do begin

StringGrid1. Rows [i+1]. Clear;

StringGrid1. Cells [0, i+1]: =IntToStr(i+1);

StringGrid1. Cells [1, i+1]: =IntToStr(Worker [i]. TabN);

StringGrid1. Cells [2, i+1]: =Worker [i]. LastName;

StringGrid1. Cells [3, i+1]: =Worker [i]. Name;

StringGrid1. Cells [4, i+1]: =Worker [i]. Patronymic;

StringGrid1. Cells [5, i+1]: =Worker [i]. IndCode;

StringGrid1. Cells [6, i+1]: =DataToStr(Worker [i]. ReceptionData);

StringGrid1. Cells [7, i+1]: =IntToStr(Worker [i]. Experience);

if Worker [i]. Exempt then

StringGrid1. Cells [8, i+1]: =DataToStr(Worker [i]. LiberationData);

StringGrid1. Cells [9, i+1]: =Worker [i]. PositionName;

StringGrid1. Cells [10, i+1]: =Worker [i]. DepartmentName;

StringGrid1. Cells [11, i+1]: =Worker [i]. SubsectionName;

end;

end;

procedure TForm1. Button1Click(Sender: TObject);

begin

INC(WorkersCount);

SetLength(Worker,WorkersCount);

CurWorker: =WorkersCount-1;

Form2. ClearWorker(CurWorker);

if WorkersCount>=StringGrid1. RowCount then begin

StringGrid1. RowCount: =WorkersCount+1;

StringGrid1. Rows [WorkersCount]. Clear;

end;

ADD: =True;

Form2. ClearField;

Form2. Show;

end;

procedure TForm1. StringGrid1SelectCell(Sender: TObject; ACol,

ARow: Integer; var CanSelect: Boolean);

begin

CurWorker: =ARow-1;

end;

procedure TForm1. Button2Click(Sender: TObject);

begin

ADD: =False;

Form2. RecToForm(CurWorker);

Form2. Show;

end;

procedure TForm1. Button3Click(Sender: TObject);

begin

Form2. DelWorker(CurWorker);

end;

procedure TForm1. N2Click(Sender: TObject);

begin

if OpenDialog. Execute then

LoadFromFile(OpenDialog. FileName);

end;

procedure TForm1. N4Click(Sender: TObject);

begin

if SaveDialog. Execute then

SaveToFile(SaveDialog. FileName);

end;

procedure TForm1. Button4Click(Sender: TObject);

begin

Form3. Show;

end;

procedure TForm1. StringGrid1DblClick(Sender: TObject);

begin

if Button2. Enabled then

Button2. OnClick(Button2);

end;

procedure TForm1. N3Click(Sender: TObject);

begin

if CurFileName<>'' then

SaveToFile(CurFileName)

else N4. OnClick(N4);

end;

procedure TForm1. N5Click(Sender: TObject);

begin

Close;

end;

procedure TForm1. Button5Click(Sender: TObject);

var i,L: Integer;

A: Kadr;

begin

if WorkersCount<=1 then Exit;

L: =Trunc((WorkersCount-1) / 2);

for i: =0 to L do begin

A: =Worker [i] ;

Worker [i]: =Worker [WorkersCount-1-i] ;

Worker [WorkersCount-1-i]: =A;

end;

RefreshList;

end;

procedure SortByTabN; // Сортування за табельним номером

var i,j: Integer;

A: Kadr;

begin

for i: =0 to WorkersCount-2 do

for j: =i+1 to WorkersCount-1 do

if Worker [i]. TabN>Worker [j]. TabN then begin

A: =Worker [i] ;

Worker [i]: =Worker [j] ;

Worker [j]: =A;

end;

Form1. RefreshList;

end;

procedure SortByLastName; // Сортування за прізвищем

var i,j: Integer;

A: Kadr;

begin

for i: =0 to WorkersCount-2 do

for j: =i+1 to WorkersCount-1 do

if Worker [i]. LastName>Worker [j]. LastName then begin

A: =Worker [i] ;

Worker [i]: =Worker [j] ;

Worker [j]: =A;

end;

Form1. RefreshList;

end;

procedure SortByName; // Сортування за ім'ям

var i,j: Integer;

A: Kadr;

begin

for i: =0 to WorkersCount-2 do

for j: =i+1 to WorkersCount-1 do

if Worker [i]. Name>Worker [j]. Name then begin

A: =Worker [i] ;

Worker [i]: =Worker [j] ;

Worker [j]: =A;

end;

Form1. RefreshList;

end;

procedure SortByPatronymic; // Сортування по Батькові

var i,j: Integer;

A: Kadr;

begin

for i: =0 to WorkersCount-2 do

for j: =i+1 to WorkersCount-1 do

if Worker [i]. Patronymic>Worker [j]. Patronymic then begin

A: =Worker [i] ;

Worker [i]: =Worker [j] ;

Worker [j]: =A;

end;

Form1. RefreshList;

end;

function DataToInt(A: Data): Integer; // Переведення дати в дні

begin

Result: =A. Y*365+A. M*31+A. D;

end;

procedure SortByBirdthDay; // Сортування за датою народження

var i,j: Integer;

A: Kadr;

begin

for i: =0 to WorkersCount-2 do

for j: =i+1 to WorkersCount-1 do

if DataToInt(Worker [i]. BirthData) >DataToInt(Worker [j]. BirthData) then begin

A: =Worker [i] ;

Worker [i]: =Worker [j] ;

Worker [j]: =A;

end;

Form1. RefreshList;

end;

procedure SortByIndCode; // Сортування за ідентифікаційним кодом

var i,j: Integer;

A: Kadr;

begin

for i: =0 to WorkersCount-2 do

for j: =i+1 to WorkersCount-1 do

if Worker [i]. IndCode>Worker [j]. IndCode then begin

A: =Worker [i] ;

Worker [i]: =Worker [j] ;

Worker [j]: =A;

end;

Form1. RefreshList;

end;

procedure SortByReceptionData; // Сортування за датою прийому на роботу

var i,j: Integer;

A: Kadr; begin

for i: =0 to WorkersCount-2 do

for j: =i+1 to WorkersCount-1 do

if DataToInt(Worker [i]. ReceptionData) >DataToInt(Worker [j]. ReceptionData) then begin

A: =Worker [i] ;

Worker [i]: =Worker [j] ;

Worker [j]: =A;

end;

Form1. RefreshList;

end;

procedure SortByExperience; // Сортування за стажем

var i,j: Integer;

A: Kadr;

begin

for i: =0 to WorkersCount-2 do

for j: =i+1 to WorkersCount-1 do

if Worker [i]. Experience>Worker [j]. Experience then begin

A: =Worker [i] ;

Worker [i]: =Worker [j] ;

Worker [j]: =A;

end;

Form1. RefreshList;

end;

procedure SortByLiberationData; // Сортування за датою звільнення

var i,j: Integer;

A: Kadr;

begin

for i: =0 to WorkersCount-2 do

for j: =i+1 to WorkersCount-1 do

if DataToInt(Worker [i]. LiberationData) >DataToInt(Worker [j]. LiberationData) then begin

A: =Worker [i] ;

Worker [i]: =Worker [j] ;

Worker [j]: =A;

end;

Form1. RefreshList;

end;

procedure SortByPositionName; // Сортування за назвою посади

var i,j: Integer;

A: Kadr;

begin

for i: =0 to WorkersCount-2 do

for j: =i+1 to WorkersCount-1 do

if Worker [i]. PositionName>Worker [j]. PositionName then begin

A: =Worker [i] ;

Worker [i]: =Worker [j] ;

Worker [j]: =A;

end;

Form1. RefreshList;

end;

procedure SortByDepartmentName; // Сортування за назвою відділу

var i,j: Integer;

A: Kadr;

begin

for i: =0 to WorkersCount-2 do

for j: =i+1 to WorkersCount-1 do

if Worker [i]. DepartmentName>Worker [j]. DepartmentName then begin

A: =Worker [i] ;

Worker [i]: =Worker [j] ;

Worker [j]: =A;

end;

Form1. RefreshList;

end;

procedure SortBySubsectionName; // Сортування за назвою підрозділу

var i,j: Integer;

A: Kadr;

begin

for i: =0 to WorkersCount-2 do

for j: =i+1 to WorkersCount-1 do

if Worker [i]. SubsectionName>Worker [j]. SubsectionName then begin

A: =Worker [i] ;

Worker [i]: =Worker [j] ;

Worker [j]: =A;

end;

Form1. RefreshList;

end;

procedure TForm1. ComboBox1Change(Sender: TObject);

begin

case ComboBox1. ItemIndex of

0: SortByTabN;

1: SortByLastName;

2: SortByName;

3: SortByPatronymic;

4: SortByBirdthDay;

5: SortByIndCode;

6: SortByReceptionData;

7: SortByExperience;

8: SortByLiberationData;

9: SortByPositionName;

10: SortByDepartmentName;

11: SortBySubsectionName;

end;

end;

procedure TForm1. CheckBox1Click(Sender: TObject);

var i: Integer;

begin

GroupBox4. Enabled: =CheckBox1. Checked;

Button1. Enabled: =not CheckBox1. Checked;

Button3. Enabled: =not CheckBox1. Checked;

if CheckBox1. Checked then begin

RezervCount: =WorkersCount;

SetLength(Rezerv,RezervCount);

for i: =0 to RezervCount-1 do

Rezerv [i]: =Worker [i] ;

end else begin

WorkersCount: =RezervCount;

SetLength(Worker,WorkersCount);

for i: =0 to WorkersCount-1 do

Worker [i]: =Rezerv [i] ;

RefreshList;

end;

end;

procedure TForm1. Button7Click(Sender: TObject);

var i: Integer;

begin

WorkersCount: =RezervCount;

SetLength(Worker,WorkersCount);

for i: =0 to WorkersCount-1 do

Worker [i]: =Rezerv [i] ;

RefreshList;

end;

procedure TForm1. ComboBox3KeyPress(Sender: TObject; var Key: Char);

begin

case ComboBox2. ItemIndex of

0,4,7,8,9,11: if not (Key in ['0'. '9',#8]) then Key: =#0;

6,10,12,13,14,15,16: Key: =#0;

end;

end;

procedure TForm1. ComboBox3Change(Sender: TObject);

begin

if ComboBox2. ItemIndex in [4,8,11] then

if Length(ComboBox3. Text) in [2,5] then begin

ComboBox3. Text: =ComboBox3. Text+'. ';

ComboBox3. SelStart: =Length(ComboBox3. Text);

end;

end;

procedure TForm1. ComboBox2Change(Sender: TObject);

begin

ComboBox3. Clear;

ComboBox3. MaxLength: =0;

case ComboBox2. ItemIndex of

0: ComboBox3. MaxLength: =5;

4,7,8,11: ComboBox3. MaxLength: =10;

9: ComboBox3. MaxLength: =2;

6: ComboBox3. Items: =Form2. ComboBox1. Items;

12: ComboBox3. Items: =Form2. ComboBox4. Items;

13: ComboBox3. Items: =Form2. ComboBox3. Items;

14: ComboBox3. Items: =Form2. ComboBox2. Items;

10,15,16: begin

ComboBox3. Items. Add('Ні');

ComboBox3. Items. Add('Так');

end;

end;

end;

procedure TForm1. ComboBox2KeyPress(Sender: TObject; var Key: Char);

begin

Key: =#0;

end;

function TForm1. FindInRec(Index: Integer): Integer;

var i: Integer;

begin

Result: =-1;

for i: =0 to RezervCount-1 do

if Worker [Index]. TabN=Rezerv [i]. TabN then begin

Result: =i;

Exit;

end;

end;

procedure FindByTabN;

var i: Integer;

begin

i: =0;

while i<=WorkersCount-1 do begin

if Worker [i]. TabN<>Form2. STI(Form1. ComboBox3. Text) then begin

Form2. DelWorker(i);

DEC(i);

end;

INC(i);

end;

Form1. RefreshList;

end;

procedure FindByLastName;

var i: Integer;

begin

i: =0;

while i<=WorkersCount-1 do begin

if Worker [i]. LastName<>Form1. ComboBox3. Text then begin

Form2. DelWorker(i);

DEC(i);

end;

INC(i);

end;

Form1. RefreshList;

end;

procedure FindByName;

var i: Integer;

begin

i: =0;

while i<=WorkersCount-1 do begin

if Worker [i]. Name<>Form1. ComboBox3. Text then begin

Form2. DelWorker(i);

DEC(i);

end;

INC(i);

end;

Form1. RefreshList;

end;

procedure FindByPatronymic;

var i: Integer;

begin

i: =0;

while i<=WorkersCount-1 do begin

if Worker [i]. Patronymic<>Form1. ComboBox3. Text then begin

Form2. DelWorker(i);

DEC(i);

end;

INC(i);

end;

Form1. RefreshList;

end;

procedure FindByBirthDay;

var i: Integer;

begin

i: =0;

while i<=WorkersCount-1 do begin

if DataToInt(Worker [i]. BirthData) <>

DataToInt(Form1. GetData(Form1. ComboBox3. Text)) then begin

Form2. DelWorker(i);

DEC(i);

end;

INC(i);

end;

Form1. RefreshList;

end;

procedure FindByBirthPlace;

var i: Integer;

begin

i: =0;

while i<=WorkersCount-1 do begin

if Worker [i]. BirthPlace<>Form1. ComboBox3. Text then begin

Form2. DelWorker(i);

DEC(i);

end;

INC(i);

end;

Form1. RefreshList;

end;

procedure FindByStat;

var i: Integer;

begin

i: =0;

while i<=WorkersCount-1 do begin

if ORD(Worker [i]. Stat) <>Form1. ComboBox3. ItemIndex then begin

Form2. DelWorker(i);

DEC(i);

end;

INC(i);

end;

Form1. RefreshList;

end;

procedure FindByIndCode;

var i: Integer;

begin

i: =0;

while i<=WorkersCount-1 do begin

if Worker [i]. IndCode<>Form1. ComboBox3. Text then begin

Form2. DelWorker(i);

DEC(i);

end;

INC(i);

end;

Form1. RefreshList;

end;

procedure FindByReceptionData;

var i: Integer;

begin

i: =0;

while i<=WorkersCount-1 do begin

if DataToInt(Worker [i]. ReceptionData) <>

DataToInt(Form1. GetData(Form1. ComboBox3. Text)) then begin

Form2. DelWorker(i);

DEC(i);

end;

INC(i);

end;

Form1. RefreshList;

end;

procedure FindByExperience;

var i: Integer;

begin

i: =0;

while i<=WorkersCount-1 do begin

if Worker [i]. Experience<>Form2. STI(Form1. ComboBox3. Text) then begin

Form2. DelWorker(i);

DEC(i);

end;

INC(i);

end;

Form1. RefreshList;

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.