|
Кадровий облік |
nd; procedure TForm1. RecToRow(Index,Row: Integer); beginif 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 thenStringGrid1. 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; beginif WorkersCount=0 then beginStringGrid1. RowCount: =WorkersCount+2; StringGrid1. Rows [1]. Clear; Button2. Enabled: =False; Button3. Enabled: =False; Exit; end; Button2. Enabled: =True; if not CheckBox1. Checked thenButton3. Enabled: =True; StringGrid1. RowCount: =WorkersCount+1; for i: =0 to WorkersCount-1 do beginStringGrid1. 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 thenStringGrid1. 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); beginINC(WorkersCount); SetLength(Worker,WorkersCount); CurWorker: =WorkersCount-1; Form2. ClearWorker(CurWorker); if WorkersCount>=StringGrid1. RowCount then beginStringGrid1. 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); beginCurWorker: =ARow-1; end; procedure TForm1. Button2Click(Sender: TObject); beginADD: =False; Form2. RecToForm(CurWorker); Form2. Show; end; procedure TForm1. Button3Click(Sender: TObject); beginForm2. DelWorker(CurWorker); end; procedure TForm1. N2Click(Sender: TObject); beginif OpenDialog. Execute thenLoadFromFile(OpenDialog. FileName); end; procedure TForm1. N4Click(Sender: TObject); beginif SaveDialog. Execute thenSaveToFile(SaveDialog. FileName); end; procedure TForm1. Button4Click(Sender: TObject); beginForm3. Show; end; procedure TForm1. StringGrid1DblClick(Sender: TObject); beginif Button2. Enabled thenButton2. OnClick(Button2); end; procedure TForm1. N3Click(Sender: TObject); beginif CurFileName<>'' thenSaveToFile(CurFileName) else N4. OnClick(N4); end; procedure TForm1. N5Click(Sender: TObject); beginClose; end; procedure TForm1. Button5Click(Sender: TObject); var i,L: Integer; A: Kadr; beginif WorkersCount<=1 then Exit; L: =Trunc((WorkersCount-1) / 2); for i: =0 to L do beginA: =Worker [i] ; Worker [i]: =Worker [WorkersCount-1-i] ; Worker [WorkersCount-1-i]: =A; end; RefreshList; end; procedure SortByTabN; // Сортування за табельним номеромvar i,j: Integer; A: Kadr; beginfor i: =0 to WorkersCount-2 dofor j: =i+1 to WorkersCount-1 doif Worker [i]. TabN>Worker [j]. TabN then beginA: =Worker [i] ; Worker [i]: =Worker [j] ; Worker [j]: =A; end; Form1. RefreshList; end; procedure SortByLastName; // Сортування за прізвищемvar i,j: Integer; A: Kadr; beginfor i: =0 to WorkersCount-2 dofor j: =i+1 to WorkersCount-1 doif Worker [i]. LastName>Worker [j]. LastName then beginA: =Worker [i] ; Worker [i]: =Worker [j] ; Worker [j]: =A; end; Form1. RefreshList; end; procedure SortByName; // Сортування за ім'ямvar i,j: Integer; A: Kadr; beginfor i: =0 to WorkersCount-2 dofor j: =i+1 to WorkersCount-1 doif Worker [i]. Name>Worker [j]. Name then beginA: =Worker [i] ; Worker [i]: =Worker [j] ; Worker [j]: =A; end; Form1. RefreshList; end; procedure SortByPatronymic; // Сортування по Батьковіvar i,j: Integer; A: Kadr; beginfor i: =0 to WorkersCount-2 dofor j: =i+1 to WorkersCount-1 doif Worker [i]. Patronymic>Worker [j]. Patronymic then beginA: =Worker [i] ; Worker [i]: =Worker [j] ; Worker [j]: =A; end; Form1. RefreshList; end; function DataToInt(A: Data): Integer; // Переведення дати в дніbeginResult: =A. Y*365+A. M*31+A. D; end; procedure SortByBirdthDay; // Сортування за датою народженняvar i,j: Integer; A: Kadr; beginfor i: =0 to WorkersCount-2 dofor j: =i+1 to WorkersCount-1 doif DataToInt(Worker [i]. BirthData) >DataToInt(Worker [j]. BirthData) then beginA: =Worker [i] ; Worker [i]: =Worker [j] ; Worker [j]: =A; end; Form1. RefreshList; end; procedure SortByIndCode; // Сортування за ідентифікаційним кодомvar i,j: Integer; A: Kadr; beginfor i: =0 to WorkersCount-2 dofor j: =i+1 to WorkersCount-1 doif Worker [i]. IndCode>Worker [j]. IndCode then beginA: =Worker [i] ; Worker [i]: =Worker [j] ; Worker [j]: =A; end; Form1. RefreshList; end; procedure SortByReceptionData; // Сортування за датою прийому на роботуvar i,j: Integer; A: Kadr; beginfor i: =0 to WorkersCount-2 dofor j: =i+1 to WorkersCount-1 doif DataToInt(Worker [i]. ReceptionData) >DataToInt(Worker [j]. ReceptionData) then beginA: =Worker [i] ; Worker [i]: =Worker [j] ; Worker [j]: =A; end; Form1. RefreshList; end; procedure SortByExperience; // Сортування за стажемvar i,j: Integer; A: Kadr; beginfor i: =0 to WorkersCount-2 dofor j: =i+1 to WorkersCount-1 doif Worker [i]. Experience>Worker [j]. Experience then beginA: =Worker [i] ; Worker [i]: =Worker [j] ; Worker [j]: =A; end; Form1. RefreshList; end; procedure SortByLiberationData; // Сортування за датою звільненняvar i,j: Integer; A: Kadr; beginfor i: =0 to WorkersCount-2 dofor j: =i+1 to WorkersCount-1 doif DataToInt(Worker [i]. LiberationData) >DataToInt(Worker [j]. LiberationData) then beginA: =Worker [i] ; Worker [i]: =Worker [j] ; Worker [j]: =A; end; Form1. RefreshList; end; procedure SortByPositionName; // Сортування за назвою посадиvar i,j: Integer; A: Kadr; beginfor i: =0 to WorkersCount-2 dofor j: =i+1 to WorkersCount-1 doif Worker [i]. PositionName>Worker [j]. PositionName then beginA: =Worker [i] ; Worker [i]: =Worker [j] ; Worker [j]: =A; end; Form1. RefreshList; end; procedure SortByDepartmentName; // Сортування за назвою відділуvar i,j: Integer; A: Kadr; beginfor i: =0 to WorkersCount-2 dofor j: =i+1 to WorkersCount-1 doif Worker [i]. DepartmentName>Worker [j]. DepartmentName then beginA: =Worker [i] ; Worker [i]: =Worker [j] ; Worker [j]: =A; end; Form1. RefreshList; end; procedure SortBySubsectionName; // Сортування за назвою підрозділуvar i,j: Integer; A: Kadr; beginfor i: =0 to WorkersCount-2 dofor j: =i+1 to WorkersCount-1 doif Worker [i]. SubsectionName>Worker [j]. SubsectionName then beginA: =Worker [i] ; Worker [i]: =Worker [j] ; Worker [j]: =A; end; Form1. RefreshList; end; procedure TForm1. ComboBox1Change(Sender: TObject); begincase ComboBox1. ItemIndex of0: 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; beginGroupBox4. Enabled: =CheckBox1. Checked; Button1. Enabled: =not CheckBox1. Checked; Button3. Enabled: =not CheckBox1. Checked; if CheckBox1. Checked then beginRezervCount: =WorkersCount; SetLength(Rezerv,RezervCount); for i: =0 to RezervCount-1 doRezerv [i]: =Worker [i] ; end else beginWorkersCount: =RezervCount; SetLength(Worker,WorkersCount); for i: =0 to WorkersCount-1 doWorker [i]: =Rezerv [i] ; RefreshList; end; end; procedure TForm1. Button7Click(Sender: TObject); var i: Integer; beginWorkersCount: =RezervCount; SetLength(Worker,WorkersCount); for i: =0 to WorkersCount-1 doWorker [i]: =Rezerv [i] ; RefreshList; end; procedure TForm1. ComboBox3KeyPress(Sender: TObject; var Key: Char); begincase ComboBox2. ItemIndex of0,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); beginif ComboBox2. ItemIndex in [4,8,11] thenif Length(ComboBox3. Text) in [2,5] then beginComboBox3. Text: =ComboBox3. Text+'. '; ComboBox3. SelStart: =Length(ComboBox3. Text); end; end; procedure TForm1. ComboBox2Change(Sender: TObject); beginComboBox3. Clear; ComboBox3. MaxLength: =0; case ComboBox2. ItemIndex of0: 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: beginComboBox3. Items. Add('Ні'); ComboBox3. Items. Add('Так'); end; end; end; procedure TForm1. ComboBox2KeyPress(Sender: TObject; var Key: Char); beginKey: =#0; end; function TForm1. FindInRec(Index: Integer): Integer; var i: Integer; beginResult: =-1; for i: =0 to RezervCount-1 doif Worker [Index]. TabN=Rezerv [i]. TabN then beginResult: =i; Exit; end; end; procedure FindByTabN; var i: Integer; begini: =0; while i<=WorkersCount-1 do beginif Worker [i]. TabN<>Form2. STI(Form1. ComboBox3. Text) then beginForm2. DelWorker(i); DEC(i); end; INC(i); end; Form1. RefreshList; end; procedure FindByLastName; var i: Integer; begini: =0; while i<=WorkersCount-1 do beginif Worker [i]. LastName<>Form1. ComboBox3. Text then beginForm2. DelWorker(i); DEC(i); end; INC(i); end; Form1. RefreshList; end; procedure FindByName; var i: Integer; begini: =0; while i<=WorkersCount-1 do beginif Worker [i]. Name<>Form1. ComboBox3. Text then beginForm2. DelWorker(i); DEC(i); end; INC(i); end; Form1. RefreshList; end; procedure FindByPatronymic; var i: Integer; begini: =0; while i<=WorkersCount-1 do beginif Worker [i]. Patronymic<>Form1. ComboBox3. Text then beginForm2. DelWorker(i); DEC(i); end; INC(i); end; Form1. RefreshList; end; procedure FindByBirthDay; var i: Integer; begini: =0; while i<=WorkersCount-1 do beginif DataToInt(Worker [i]. BirthData) <>DataToInt(Form1. GetData(Form1. ComboBox3. Text)) then beginForm2. DelWorker(i); DEC(i); end; INC(i); end; Form1. RefreshList; end; procedure FindByBirthPlace; var i: Integer; begini: =0; while i<=WorkersCount-1 do beginif Worker [i]. BirthPlace<>Form1. ComboBox3. Text then beginForm2. DelWorker(i); DEC(i); end; INC(i); end; Form1. RefreshList; end; procedure FindByStat; var i: Integer; begini: =0; while i<=WorkersCount-1 do beginif ORD(Worker [i]. Stat) <>Form1. ComboBox3. ItemIndex then beginForm2. DelWorker(i); DEC(i); end; INC(i); end; Form1. RefreshList; end; procedure FindByIndCode; var i: Integer; begini: =0; while i<=WorkersCount-1 do beginif Worker [i]. IndCode<>Form1. ComboBox3. Text then beginForm2. DelWorker(i); DEC(i); end; INC(i); end; Form1. RefreshList; end; procedure FindByReceptionData; var i: Integer; begini: =0; while i<=WorkersCount-1 do beginif DataToInt(Worker [i]. ReceptionData) <>DataToInt(Form1. GetData(Form1. ComboBox3. Text)) then beginForm2. DelWorker(i); DEC(i); end; INC(i); end; Form1. RefreshList; end; procedure FindByExperience; var i: Integer; begini: =0; while i<=WorkersCount-1 do beginif Worker [i]. Experience<>Form2. STI(Form1. ComboBox3. Text) then beginForm2. DelWorker(i); DEC(i); end; INC(i); end; Form1. RefreshList;
Страницы: 1, 2, 3, 4
|
|
|
© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент. |
|
|