Автор работы: Пользователь скрыл имя, 10 Июня 2013 в 23:36, дипломная работа
Қазіргі техника мен технологияның дамып, маңызы артқан XXI-ғасыр заманында автоматтандырылған жұмыс орнын құру адамзат баласы өмірінің бір бөлшегіне айналып отыр. Ал мәліметтер қоры қазіргі таңда кез келген сферада қолданылып жүргені бәрімізге мәлім. Бұл туралы тұрақты анықтама жоқ, себебі бұл ұғымның қасиеттеріне байланысты аясы кең болып саналады.
Мысалы: 3.10 суретіне сәйкес қарай отырып, онда «Теңестіруден өтіңіз» формасында ADOQuery1, DBComboBox1 (оның Name қасиетін DBName деп өзгертеміз), TmaskEdit1 (оның Name қасиетін edPassword деп өзгертеміз) және 2 BitButton компоненттері қойылғандығы көрініп тұр, сол сияқты басқа формада да қандай компоненттер қойылғандығын анықтай аласыздар деген сенімдеміз.
Сурет 3.10 Ақпараттық жүйеге рұқсат алу формасы
ADOQuery1 компонентін белгілеп Connection қасиетіне dm.ADO Connec- tion1 деп жазамыз. Себебі ADOConnection1 компоненті 3.11 суретіне сәйкес
DataModule формасында орналасқан, оның атауын қысқартып dm деп атаймыз.
Сурет 3.11 DataModule формасы
«Теңестіруден өтіңіз» формасындағы «ОК» батырмасын шерту оқиғасына мына кодты жазамыз:
with ADOQuery1 do
begin
Close;
SQL.Text :=
'SELECT kod ' +
'FROM bd_rabotniki ' +
'WHERE atijoni="' +dbName.Text + '" AND '+
'pass="' + edPassword.Text + '"';
Open;
end;
if ADOQuery1.RecordCount > 0 then
begin
Form1.USER :=
ADOQuery1.FieldByName('kod').
Form1.Show;
Visible := False;
end
else
begin
Application.MessageBox('Логин немесе купия сөз кате терілген', '');
edPassword.Text := '';
end;
Ал жүйеге енгізуден бас тарту үшін тағы бір BitButton пернесін қойып, Kind қасиетіне bkCancel мәнін көрсетеміз.
Теңестіруден өткеннен кейін 3.12 суретіне сәйкес «Кадрлар бөлімі» деп аталатын форма ашылады. Бұл формада көріп отырғанымыздай жоғарғы мәзірде үш бөлік тағайындалған.
Сурет 3.12 Негізгі терезе
Соның біріншісі –
«Бөлім» деп аталады, мұнда қызметкерлердің
қандай бөлімде жұмыс атқаратынын
анықтап алуға мүмкіндік
Form1.ADOQuery1.Filtered:=
t:=ADOQuery1.RecordCount;
Form1.Caption:='Кадрлар болімі - Администрацияда '+IntToStr(t)+'-адам бар';
Соңғы жолда Администрацияда неше адам қызмет атқаратынын есептеу келтірілген.
Қызметкердің фотосын шығару үшін OpenDialog1, сосын DBImage1 компоненттерін қойып, оны екі рет шерту оқиғасына мына кодты жазамыз:
procedure TForm1.DBImage1DblClick(
begin
if OpenDialog1.Execute then
begin
ADOQuery1.Edit;
DBImage1.Picture.LoadFromFile(
end;end;
Сурет 3.13 «Бөлім» туралы ақпарат
«Кадрлар бөлімі» формасында негізгі және маңызды болып есептелетін алты объектіні атап көрсетуге болады. Олар: «Іздеу», «Жұмысқа қабылдау», «Келісімшарт», «Есеп беру» және «Жеке парақ» объектілері. Осылардың әрбіреуіне жеке тоқталайық. «Аты-жөні» объектісі қызметкердің «Туған күні», «Мекен-жайы», «Қызметі», «Білімі», «Стаж», «Жанұялық жағдайы», «Жынысы» критерийлері бойынша сұрыптап береді. «Іздеу» объектісінен бір ерекшелігі таңдалып алынған жазбамен ғана өңдеулер жүргізуге мүмкіндік беріледі. Ол әрекетті жүзеге асыру үшін «Табу» пернесіне шерту оқиғасына келесідей бағдарлама коды пайдаланылды:
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
if ComboBox1.Text<>'Таңдау жасау' then
begin
if ComboBox1.Text='Аты-жөні' then s:='atiJoni';
if ComboBox1.Text='Туған күні' then s:='tugankuni';
if ComboBox1.Text='Мекен жайы' then s:='mekenjai';
if ComboBox1.Text='Стажы' then s:='Staj';
if ComboBox1.Text='Үй телефоны' then s:='telui';
if ComboBox1.Text='Ұялы телефоны' then s:='telsot';
if ComboBox1.Text='Кызметі' then s:='kizmeti';
ADOQuery1.Locate(s,Ed_poisk.
end else ShowMessage('өріс таңдаңыз');
end;
«Фильтрлеу» пернесін шерту оқиғасына мына кодты жазамыз:
procedure TForm1.Button2Click(Sender: TObject);
var ap,pr,pole:String;
begin
ap:='''';
pr:='*';
if RG_Filtr.ItemIndex<>-1 then
begin
if RG_Filtr.Items[RG_Filtr.
if RG_Filtr.Items[RG_Filtr.
if RG_Filtr.Items[RG_Filtr.
if RG_Filtr.Items[RG_Filtr.
if RG_Filtr.Items[RG_Filtr.
if RG_Filtr.Items[RG_Filtr.
if RG_Filtr.Items[RG_Filtr.
pole:='januialikjag';
if RG_Filtr.Items[RG_Filtr.
ADOQuery1.Filtered:=false;
ADOQuery1.Filter:=pole+'='+ap+
ADOQuery1.Filtered:=true;
end
else ShowMessage('Шарт танданыз');
end;
Фильтрді алып тастау үшін мына кодты жазамыз:
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOQuery1.Filtered:=false; end;
Қызметкер жұмысқа қабылданғаннан кейін оның жеке парағын да автоматты түрде жасай аламыз,3.13 суретіне сәйкес жеке парақты жасау бұл бағдарламаның жұмысына енеді.
Сурет 3.14 Қызметкер туралы негізгі мәліметтер
Бас мәзірдің екінші пункті – «Іс-қимыл» бөлігі, мұнда қызметкерлерді жұмысқа қабылдау және жұмыстан шығару, статистика әрекеттері жүзеге асырылады. Қызметкерлерді іздеу үшін арнайы сұраныс құа отырып жүзеге асырамыз.
Сурет 3.15 Қызметкерлер туралы мәліметтер терезесі
«Жұмысқа қабылдау» бөлігінің формасы frm_Prin_Rab деп аталады (18-суретке сәйкес), оның көмегімен кадрлар бөліміне келіп жұмысқа қабылданған қызметкерлер туралы деректерді базаға сақтауды ұйымдастыру керек болсын. Ол үшін «Іс-қимыл» пунктінің «Жұмысқа қабылдау» командасын шерту оқиғасына мына кодты жазамыз:
frm_Prin_Rab.Show;
form1.Enabled:=false;
Form11.enabled:=false;
Сурет 3.16 Мәліметтерді сақтау
Сұрыптау үшін мына төмендегә суреттегідей болады. Мұнда аты-жөні бойынша сұрыпталған. Сақтау қажет болғанда сақтау батырмасын басамыз.
Сурет 3.17 Аты-жөні бойынша сұрыптау
«Жұмысқа қабылдау»
қалыбындағы бос орындар
Form1.ADOQuery1.First;
Form1.ADOQuery1.Append;
Form1.ADOQuery1['atiJoni']:=
Form1.ADOQuery1['mekenjai']:=
Form1.ADOQuery1['telui']:=Ed_
Form1.ADOQuery1['telsot']:=Ed_
Form1.ADOQuery1['tugankuni']:=
Form1.ADOQuery1['kizmeti']:=
Form1.ADOQuery1['bilimi']:=CB_
Form1.ADOQuery1['azamattik']:=
Form1.ADOQuery1['ulti']:=Ed_
Form1.ADOQuery1['januialikjag'
Form1.ADOQuery1['Staj']:=Ed_
Form1.ADOQuery1['jinisi']:=CB_
if CB_child.Checked then Form1.ADOQuery1['balalari']:=
else
Form1.ADOQuery1['balalari']:=
Form1.ADOQuery1['bolim']:=CB_
Form1.ADOQuery1.Post;
frm_Prin_Rab.Hide;
form1.Enabled:=true;
end;
Сурет 3.18 Нөмірлері бойынша сұрыптау
Ал қызметкер жұмысқа алынатын болған жағдайда бағдарлама автоматты түрде сол адамның мәліметтерін пайдалана отырып, келісімшартты даярлап береді. Келісімшарттың үлгісін 3.14 суретіне сәйкес Form4.QRM_rab формасына жасап аламыз.
procedure TForm1.Button2Click(Sender: TObject);
var ap,pr,pole:String;
begin
ap:='''';
pr:='*';
if RG_Filtr.ItemIndex<>-1 then
begin
if RG_Filtr.Items[RG_Filtr.
if RG_Filtr.Items[RG_Filtr.
if RG_Filtr.Items[RG_Filtr.
if RG_Filtr.Items[RG_Filtr.
if RG_Filtr.Items[RG_Filtr.
if RG_Filtr.Items[RG_Filtr.
if RG_Filtr.Items[RG_Filtr.
pole:='januialikjag';
if RG_Filtr.Items[RG_Filtr.
ADOQuery1.Filtered:=false;
ADOQuery1.Filter:=pole+'='+ap+
ADOQuery1.Filtered:=true;
end
Сурет 3.19 Жұмысқа қабылдау
Ол үшін осы формадағы шерту оқиғасына мына кодты жазамыз:
Form4.QRL_fio.Caption:=Ed_fio.
form4.Label1.Caption:=frm_
Form4.QRM_rab.Lines.Clear;
Form4.QRM_rab.Lines.Add('"
Form4.QRM_rab.Lines.Add(Ed_
Form4.QRM_rab.Lines.Add('
Form4.QRM_rab.Lines.Add('
form4.QRLabel21.Caption:=
Form4.QuickRep1.Preview;
end;
«Іс-қимыл» пунктіндегі 3.15 суретіне сәйкес «Жұмыстан шығару» командасын басқанда белгіленіп тұрған қызметкер жұмыстан шығарылды деп есептеліп, осы кестеден өшіріледі де басқа формадағы базаға сақталады . Жұмыстан шыққан қызметкерге жарлық шығару үшін «Өкімдер» - «Жұмыстан босату» командасын орындау керек. Бұл формадағы «Бұйрық» пернесін шерту оқиғасына мына кодты жазамыз:
form6.QRLabel22.Caption:=
form6.QRLabel25.Caption:=
form6.QRLabel23.caption:=
form6.QRLabel29.caption:=
form6.QRLabel30.caption:=
form6.QuickRep1.Preview;
end;
Бұл кодтың орындалуы үшін 6-форма құрып, оған 3.16 суретіне сәйкес жұмыстан босату үлгісін жасап қоямыз.
Жұмыстан шығару туралы өкім шығарылғаннан кейін қызметкер туралы деректі кестеден өшіруге болады, ол үшін «Жұмыстан босату өкімі формасындағы» «Өшіру пернесін шерту оқиғасына мына кодты жазамыз:
procedure TForm14.Button2Click(Sender: TObject);
begin
with dm.GetTempQuery do
try
Close;
SQL.Text := 'DELETE FROM sapar WHERE fionom = ' +
ADOQuery1.FieldByName('kod').
ExecSQL;
finally
Free;
end;
ADOQuery1.Delete;
Form10.ADOQuery1.Active := False;
Form10.ADOQuery1.Active := True;
end;
«Іс-қимыл» бөлігінің «Статистика» бөлімінде жалпы мекеменің қызметкерлерінің орташа жас мөлшері, білімдері және қанша ер адам мен әйел адам жұмыс істейтінін есептеп, статистиканы көрсетеді.
Бұл амалдарды орындау үшін «Есептеу» батырмасына мына кодты жазамыз:
procedure TForm13.Button1Click(Sender: TObject);
var bilimi,otd:string; t,i,s,d,dd,s1:integer;p:
begin
s1:=0;
Form13.ADOquery1.First;
i := 1;
while not(form13.ADOquery1.Eof) do begin
inc(i);
s:=strtoint(mes_f(form13.
p:=mes_f(DateToStr(Date));
d:=strtoint(p);
dd:=d-s;
s1:=s1+dd;
form13.ADOquery1.Next;
ddd:=s1/form13.ADOQuery1.
form13.Edit1.Text:=floattostr(
end;
begin
otd:='jinisi';
form13.ADOQuery1.Filtered:=
form13.ADOQuery1.Filter:='
ADOQuery1.Filtered:=true;
t:=ADOQuery1.RecordCount;
form13.Edit2.Text:=IntToStr(t)
Form4.QRM_rab.Lines.Add(Ed_
Form4.QRM_rab.Lines.Add('
Form4.QRM_rab.Lines.Add('
form4.QRLabel21.Caption:=
end;
begin
otd:='jinisi';
form13.ADOQuery1.Filtered:=
form13.ADOQuery1.Filter:='
ADOQuery1.Filtered:=true;
t:=ADOQuery1.RecordCount;
form13.Edit3.Text:=IntToStr(t)
end;
begin
otd:='bilimi';
form13.ADOQuery1.Filtered:=
form13.ADOQuery1.Filter:='
ADOQuery1.Filtered:=true;
t:=ADOQuery1.RecordCount;
form13.Edit4.Text:=IntToStr(t)
begin
otd:='bilimi';
form13.ADOQuery1.Filtered:=
form13.ADOQuery1.Filter:='
ADOQuery1.Filtered:=true;
t:=ADOQuery1.RecordCount;
form13.Edit5.Text:=IntToStr(t)
begin
otd:='bilimi';
form13.ADOQuery1.Filtered:=
form13.ADOQuery1.Filter:='
ADOQuery1.Filtered:=true;
t:=ADOQuery1.RecordCount;
form13.Edit6.Text:=IntToStr(t)
end;
Сурет 3.20 Барлық қызметкерлер тізімі
Мұндағы mes_f функциясы қызметкерлердің туған датасынан тек қана жылды қиып алуға жазылды. Оны модульдің бас жағына жазып қою керек: