




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
學(xué)號:09416305課程設(shè)計(jì)匯報課程名稱:Delphi程序設(shè)計(jì)題目:人事管理系統(tǒng)姓名:學(xué)院:專業(yè)班級:計(jì)算機(jī)091指導(dǎo)教師:課程設(shè)計(jì)任務(wù)書班級計(jì)算機(jī)091姓名李琳蕊一、設(shè)計(jì)題目:人事管理系統(tǒng)設(shè)計(jì)二、設(shè)計(jì)內(nèi)容:本設(shè)計(jì)是制作一個人事管理系統(tǒng),在該程序中具體功效要求見附件。三、基礎(chǔ)要求:對源程序編寫要求:(1)能夠?qū)崿F(xiàn)任務(wù)書中功效;(2)盡可能使界面友好、直觀、易操作;(3)源程序要有合適注釋,使程序輕易閱讀。撰寫“課程設(shè)計(jì)匯報”,撰寫要求見附件實(shí)習(xí)匯報撰寫排版要求。課程設(shè)計(jì)驗(yàn)收要求:(1)運(yùn)行所設(shè)計(jì)系統(tǒng);(2)回復(fù)相關(guān)問題;(3)提交課程設(shè)計(jì)匯報和任務(wù)書;(4)提交源程序四、進(jìn)度安排:1、系統(tǒng)分析、設(shè)計(jì)準(zhǔn)備階段:4課時2、編程調(diào)試階段:32課時3、總結(jié)和書寫匯報階段:2課時4、考評階段:2課時指導(dǎo)老師:劉俊年1月6日目錄TOC人事管理系統(tǒng) 31、需求分析 32、程序要求 31.功效模塊圖 32.系統(tǒng)界面 42:登陸界面 53: 84:更改界面 125:MDICHild 156: 173.創(chuàng)建數(shù)據(jù)庫 241、數(shù)據(jù)庫選擇:ACCESS數(shù)據(jù)庫 242、建表 244、系統(tǒng)設(shè)計(jì) 295、系統(tǒng)使用說明 296、心得體會 297:致謝 30參考文件 30人事管理系統(tǒng)1、需求分析1.新職員資料輸入。2.自動分配職員號,而且設(shè)置初始用戶密碼,能夠分配權(quán)限實(shí)施不一樣模塊。3.人事變動具體統(tǒng)計(jì),包含崗位和部門調(diào)整。4.職員信息查詢和修改,包含職員個人信息和密碼等。5.幫助。2、程序要求1.功效模塊圖人事管理系統(tǒng)人事管理系統(tǒng)依據(jù)權(quán)限登錄幫助新職員檔案輸入人事變更職員檔案查詢修改依據(jù)權(quán)限登錄幫助新職員檔案輸入人事變更職員檔案查詢修改2.系統(tǒng)界面1:進(jìn)入界面;代碼:procedureTqdform.FormCreate(Sender:TObject);varwindowid:hwnd;beginwindowid:=findwindow(nil,'F_main');ifwindowid<>0thenbeginMessageBox(handle,'錯誤:系統(tǒng)已經(jīng)開啟!','系統(tǒng)開啟錯誤',MB_OKorMB_ICONERROR);//showwindow(foundwin,9);halt;end;end;end.2:登陸界面代碼:unitlogin;interfaceusesWindows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,Inifiles;typeTF_login=class(TForm)Label1:TLabel;Label2:TLabel;Label3:TLabel;Label4:TLabel;i_server_add:TComboBox;i_user:TEdit;i_passwd:TEdit;Button1:TButton;Button2:TButton;procedureButton1Click(Sender:TObject);procedureFormShow(Sender:TObject);procedureFormCreate(Sender:TObject);procedureFormClose(Sender:TObject;varAction:TCloseAction);private{Privatedeclarations}public{Publicdeclarations}end;varF_login:TF_login;Inifile:TInifile;implementationusesDataModule,crypt,mainwin;{$R*.DFM}procedureTF_login.Button1Click(Sender:TObject);varpasswd,passwrd:String;beginapplication.CreateForm(TDataModule1,DataModule1);WithDataModule1dobeginDatabase.Connected:=False;Database.AliasName:=i_server_add.Text;Database.Connected:=True;T_user.Filter:='ID='''+i_user.Text+'''';T_user.Filtered:=True;T_user.Open;ifT_user.RecordCount=1thenbeginpasswd:=i_passwd.Text;iflength(passwd)>5thenbeginpasswd:=Copy(passwd+passwd,1,10);//統(tǒng)一密碼長度passwd:=Encrypt(passwd,123);//加密end;passwrd:=T_user['PASSWD'];if(passwrd=passwd)and(T_user['AUTHORITY']='3')thenbeginF_main.login:=True;endelseApplication.MessageBox('請重新輸入密碼。'+#13+'注意大小寫!','密碼錯誤',MB_OK);endelseApplication.MessageBox('請確定用戶名大小寫是否正確!','無此用戶',MB_OK);T_user.Close;end;ifF_main.loginthenF_login.CloseelseDataModule1.Free;end;procedureTF_login.FormShow(Sender:TObject);beginself.i_server_add.SetFocus;end;procedureTF_login.FormCreate(Sender:TObject);beginInifile:=TInifile.Create(extractfilepath(paramstr(0))+'SERVER.ini');iffileexists(extractfilepath(paramstr(0))+'SERVER.ini')thenbegini_server_add.Text:=inifile.ReadString('SERVER','SERVERNAME','');i_user.Text:=inifile.ReadString('SERVER','USERNAME','');end;end;procedureTF_login.FormClose(Sender:TObject;varAction:TCloseAction);beginifnotfileexists(extractfilepath(paramstr(0))+'SERVER.ini')thenInifile:=TInifile.Create(extractfilepath(paramstr(0))+'SERVER.ini');inifile.WriteString('SERVER','SERVERNAME',i_server_add.Text);inifile.WriteString('SERVER','USERNAME',i_user.Text);inifile.Free;end;End.3:代碼:unitadd;interfaceusesWindows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,childwin,StdCtrls,DBCtrls,Mask,ExtCtrls;typeTF_add=class(TMDIChild)Label1:TLabel;Label2:TLabel;Label3:TLabel;Label5:TLabel;Label6:TLabel;Label7:TLabel;Label9:TLabel;Label10:TLabel;Label11:TLabel;Label12:TLabel;Label13:TLabel;Label14:TLabel;i_department:TDBLookupComboBox;i_job:TDBLookupComboBox;i_edu_level:TDBLookupComboBox;Button1:TButton;i_user:TDBEdit;i_name:TDBEdit;i_birthday:TDBEdit;i_specialty:TDBEdit;i_address:TDBEdit;i_tel:TDBEdit;i_email:TDBEdit;i_remark:TDBMemo;i_passwd:TEdit;i_sex:TDBRadioGroup;DBLookupComboBox1:TDBLookupComboBox;procedureFormCreate(Sender:TObject);procedureButton1Click(Sender:TObject);procedureFormClose(Sender:TObject;varAction:TCloseAction);private{Privatedeclarations}procedureAddInit;public{Publicdeclarations}end;varF_add:TF_add;implementationusesDataModule,mainwin,crypt;{$R*.DFM}procedureTF_add.AddInit;varcounter:integer;id:String;beginWithDataModule1dobegin//生成職員號T_counter.Filter:='ID=''P''';T_counter.Filtered:=True;T_counter.Open;counter:=T_counter['COUNTER_VALUE'];T_counter.Close;id:='00000'+IntToStr(counter);id:='P'+Copy(id,length(id)-4,5);//增加新統(tǒng)計(jì)T_add_user.Open;T_add_user.Append;T_add_user['ID']:=id;T_add_user['SEX']:='M';T_add_user['STATE']:='T';i_passwd.Text:=id;end;end;procedureTF_add.FormCreate(Sender:TObject);beginF_main.M_add.Enabled:=False;F_main.TB_add.Enabled:=False;Width:=272;Height:=469;datamodule1.T_department.Open;WithDataModule1dobeginifnotT_department.ActivethenT_department.Open;ifnotT_job.ActivethenT_job.Open;ifnotT_edu_level.ActivethenT_edu_level.Open;end;AddInit;end;procedureTF_add.Button1Click(Sender:TObject);varpasswd:String;counter:Integer;beginiflength(i_name.Text)>0thenbeginpasswd:=i_passwd.Text;passwd:=Copy(passwd+passwd,1,10);passwd:=Encrypt(passwd,123);WithDataModule1dobegin//累加職員編號計(jì)數(shù)器T_counter.Filter:='ID=''P''';T_counter.Filtered:=True;T_counter.Open;T_counter.Edit;T_counter['COUNTER_VALUE']:=T_counter['COUNTER_VALUE']+1;T_counter.Post;T_counter.Close;//增加職員個人信息統(tǒng)計(jì)T_add_user.Edit;T_add_user['PASSWD']:=passwd;T_add_user.Post;//獲取人事變動統(tǒng)計(jì)號T_counter.Filter:='ID=''C''';T_counter.Filtered:=True;T_counter.Open;counter:=T_counter['COUNTER_VALUE'];Inc(counter);T_counter.Edit;T_counter['COUNTER_VALUE']:=counter;T_counter.Post;T_counter.Close;//追加人事變動統(tǒng)計(jì)T_change.Open;T_change.Append;T_change['ID']:=counter;T_change['PERSON']:=i_user.Text;T_change['CHANGE']:='2';T_change['RECORD_TIME']:=Now;T_change['DESCRIPTION']:='加入企業(yè)。';T_change.Post;T_change.Close;end;AddInit;end;end;procedureTF_add.FormClose(Sender:TObject;varAction:TCloseAction);begininherited;F_main.M_add.Enabled:=True;F_main.TB_add.Enabled:=True;WithDataModule1dobeginT_add_user.Cancel;T_add_user.Close;end;end;End.4:更改界面代碼:unitchange;interfaceusesWindows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,childwin,StdCtrls,ExtCtrls,DBCtrls,Mask;typeTF_change=class(TMDIChild)Label1:TLabel;i_id:TEdit;GroupBox1:TGroupBox;Label2:TLabel;Label3:TLabel;Label4:TLabel;i_change:TRadioGroup;Button1:TButton;Label5:TLabel;i_department:TDBLookupComboBox;i_name:TDBEdit;i_job:TDBLookupComboBox;Label6:TLabel;i_description:TMemo;i_time:TMaskEdit;procedurei_idChange(Sender:TObject);procedureFormCreate(Sender:TObject);procedureFormClose(Sender:TObject;varAction:TCloseAction);procedureButton1Click(Sender:TObject);private{Privatedeclarations}procedureChangeInit;public{Publicdeclarations}end;varF_change:TF_change;implementationusesDataModule,mainwin;{$R*.DFM}procedureTF_change.ChangeInit;begini_id.Text:='';//清空職員號輸入框DataModule1.T_user.Close;//關(guān)閉職員查詢數(shù)據(jù)表i_change.ItemIndex:=0;//默認(rèn)職員變動為職務(wù)變更i_time.Text:=DateToStr(Now);//加入目前時間i_description.Clear;//清空描述end;procedureTF_change.i_idChange(Sender:TObject);beginWithDataModule1dobeginT_user.Filter:='ID='''+i_id.Text+'''';T_user.Filtered:=True;T_user.Open;end;end;procedureTF_change.FormCreate(Sender:TObject);beginF_main.M_change.Enabled:=False;F_main.TB_change.Enabled:=False;Width:=282;Height:=429;WithDataModule1dobeginifnotT_department.ActivethenT_department.Open;ifnotT_job.ActivethenT_job.Open;end;ChangeInit;end;procedureTF_change.FormClose(Sender:TObject;varAction:TCloseAction);begininherited;//繼承父類關(guān)閉事件F_main.M_change.Enabled:=True;//恢復(fù)菜單使用F_main.TB_change.Enabled:=True;//恢復(fù)按鈕使用end;procedureTF_change.Button1Click(Sender:TObject);varcounter:integer;//保留計(jì)數(shù)器beginWithDataModule1do//設(shè)置默認(rèn)前綴為DataModule1beginifT_user.RecordCount=1then//判定是否存在該職員begin//獲取人事變動統(tǒng)計(jì)號T_counter.Filter:='ID=''C''';T_counter.Filtered:=True;T_counter.Open;counter:=T_counter['COUNTER_VALUE'];counter:=counter+1;;T_counter.Edit;T_counter['COUNTER_VALUE']:=counter;//把新計(jì)數(shù)器值寫入表中T_counter.Post;//保留表統(tǒng)計(jì)T_counter.Close;//關(guān)閉表//追加人事變動統(tǒng)計(jì)T_user.Edit;ifi_change.ItemIndex=1thenT_user['STATE']:='F';//取消職員帳號T_user.Post;//保留T_change.Open;//修改人事變動統(tǒng)計(jì)T_change.Append;T_change['ID']:=counter;T_change['PERSON']:=i_id.Text;T_change['CHANGE']:=IntToStr(i_change.ItemIndex);T_change['RECORD_TIME']:=StrToDate(i_time.Text);T_change['DESCRIPTION']:=i_description.Text;T_change.Post;//保留T_change.Close;//關(guān)閉ChangeInit;//在初始化表單endelseApplication.MessageBox('請確定職員號!','輸入錯誤',MB_OK);end;end;End.5:MDICHild代碼:unitChildwin;interfaceusesWindows,Classes,Graphics,Forms,Controls,StdCtrls;typeTMDIChild=class(TForm)procedureFormClose(Sender:TObject;varAction:TCloseAction);private{Privatedeclarations}public{Publicdeclarations}end;implementation{$R*.DFM}procedureTMDIChild.FormClose(Sender:TObject;varAction:TCloseAction);beginAction:=caFree;end;End.6:數(shù)據(jù)連接代碼:unitDataModule;interfaceusesWindows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,Db,DBTables;typeTDataModule1=class(TDataModule)Database:TDatabase;T_user:TTable;T_add_user:TTable;DS_add_user:TDataSource;T_counter:TTable;T_department:TTable;DS_department:TDataSource;T_job:TTable;T_edu_level:TTable;DS_job:TDataSource;DS_edu_level:TDataSource;T_change:TTable;DS_user:TDataSource;T_user_2:TTable;DS_user_2:TDataSource;T_change_list:TTable;DS_change_list:TDataSource;T_changed:TTable;DS_changed:TDataSource;private{Privatedeclarations}public{Publicdeclarations}end;varDataModule1:TDataModule1;implementation{$R*.DFM}End.7:主窗口設(shè)計(jì)代碼:About,login,DataModule,add,change,search;procedureTF_main.M_aboutClick(Sender:TObject);beginAboutBox.ShowModal;end;procedureTF_main.M_connectClick(Sender:TObject);beginapplication.CreateForm(TF_login,F_login);F_login.ShowModal;ifloginthenbeginM_connect.Enabled:=False;TB_connect.Enabled:=False;M_disconnect.Enabled:=True;TB_disconnect.Enabled:=True;M_add.Enabled:=True;TB_add.Enabled:=True;M_change.Enabled:=True;TB_change.Enabled:=True;M_search.Enabled:=True;TB_search.Enabled:=True;StatusBar1.Panels[1].Text:='已經(jīng)連接到服務(wù)器:'+F_login.i_server_add.Text;end;end;procedureTF_main.FormCreate(Sender:TObject);begin//初始化login:=False;M_connect.Enabled:=True;TB_connect.Enabled:=True;M_disconnect.Enabled:=False;TB_disconnect.Enabled:=False;M_add.Enabled:=False;TB_add.Enabled:=False;M_change.Enabled:=False;TB_change.Enabled:=False;M_search.Enabled:=False;TB_search.Enabled:=False;StatusBar1.Panels[1].Text:='還未登錄服務(wù)器!請按F2登錄。';end;procedureTF_main.M_disconnectClick(Sender:TObject);vari:integer;beginfori:=MDIChildCount-1downto0doF_main.MDIChildren[i].Close;DataModule1.Database.Connected:=False;FormCreate(nil);datamodule1.Free;end;procedureTF_main.M_exitClick(Sender:TObject);beginClose;end;procedureTF_main.M_addClick(Sender:TObject);beginApplication.CreateForm(TF_add,F_add);end;procedureTF_main.M_changeClick(Sender:TObject);beginApplication.CreateForm(TF_change,F_change);end;procedureTF_main.M_searchClick(Sender:TObject);beginApplication.CreateForm(TF_search,F_search);end;End.8:修改界面代碼:unitsearch;interfaceusesWindows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,childwin,DBCtrls,Grids,DBGrids,StdCtrls,Mask,ExtCtrls,DBCGrids;typeTF_search=class(TMDIChild)Label1:TLabel;Label2:TLabel;i_id:TEdit;Button1:TButton;Label3:TLabel;Label5:TLabel;Label6:TLabel;Label7:TLabel;Label8:TLabel;Label9:TLabel;Label10:TLabel;Label11:TLabel;Label12:TLabel;Label13:TLabel;Label14:TLabel;i_sex:TDBRadioGroup;i_passwd:TEdit;i_name:TDBEdit;i_birthday:TDBEdit;i_address:TDBEdit;i_tel:TDBEdit;i_email:TDBEdit;i_specialty:TDBEdit;i_remark:TDBMemo;i_department:TDBLookupComboBox;i_job:TDBLookupComboBox;i_edu_level:TDBLookupComboBox;Button2:TButton;DBCtrlGrid1:TDBCtrlGrid;DBEdit1:TDBEdit;StaticText1:TStaticText;DBMemo1:TDBMemo;StaticText3:TStaticText;DBEdit2:TDBEdit;StaticText4:TStaticText;procedureFormCreate(Sender:TObject);procedurei_idChange(Sender:TObject);procedureFormClose(Sender:TObject;varAction:TCloseAction);procedureButton1Click(Sender:TObject);procedureButton2Click(Sender:TObject);private{Privatedeclarations}public{Publicdeclarations}end;varF_search:TF_search;implementationusesmainwin,DataModule,crypt;{$R*.DFM}procedureTF_search.FormCreate(Sender:TObject);beginF_main.M_search.Enabled:=False;//嚴(yán)禁"查詢"菜單項(xiàng)F_main.TB_search.Enabled:=False;//嚴(yán)禁"查詢"按鈕Width:=536;//設(shè)置窗體寬度Height:=422;//設(shè)置窗體高度WithDataModule1do//設(shè)置默認(rèn)前綴為DataModule1beginifnotT_department.ActivethenT_department.Open;//打開部門代碼表ifnotT_job.ActivethenT_job.Open;//打開職務(wù)代碼表ifnotT_edu_level.ActivethenT_edu_level.Open;//打開教育水平代碼表ifnotT_changed.ActivethenT_changed.Open;//打開人事變動代碼表T_user_2.Close;//關(guān)閉用戶信息表end;end;procedureTF_search.i_idChange(Sender:TObject);beginWithDataModule1do//設(shè)置默認(rèn)前綴為DataModule1beginT_user_2.Filter:='ID='''+i_id.Text+'''';//設(shè)置過濾器T_user_2.Filtered:=True;//激活過濾器T_user_2.Open;//打開用戶信息表T_change_list.Filter:='PERSON='''+i_id.Text+'''';//設(shè)置過濾器T_change_list.Filtered:=True;//激活過濾器T_change_list.Open;//打開人事變更統(tǒng)計(jì)表end;end;procedureTF_search.FormClose(Sender:TObject;varAction:TCloseAction);begininherited;//繼承父類F_main.M_search.Enabled:=True;//激活"查詢"菜單F_main.TB_search.Enabled:=True;//激活"查詢"按鈕DataModule1.T_user_2.Close;//關(guān)閉用戶信息表DataModule1.T_change_list.Close;//關(guān)閉人事變更統(tǒng)計(jì)信息表end;procedureTF_search.Button1Click(Sender:TObject);varpasswd:String;beginWithDataModule1do//設(shè)置默認(rèn)前綴為DataModule1beginifT_user_2.RecordCount=1then//判定職員號是否存在beginpasswd:=i_passwd.Text;//提取密碼字段passwd:=Copy(passwd+passwd,1,10);passwd:=Encrypt(passwd,123);T_user_2.Edit;//設(shè)置為修改狀態(tài)T_user_2['PASSWD']:=passwd;//修改密碼T_user_2.Post;//保留i_passwd.Text
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 能源企業(yè)碳排放管理研究
- 黔東南臺江縣苗族傳統(tǒng)龍紋樣的文化創(chuàng)意產(chǎn)品設(shè)計(jì)研究
- 杭州灣沿岸歷史時期人地相互作用典型案例研究
- 課題申報書:民辦高校產(chǎn)教融合共同體構(gòu)建與實(shí)踐機(jī)制研究
- 初三化學(xué)上知識點(diǎn)總結(jié)模版
- 木質(zhì)素燃料顆粒機(jī)行業(yè)跨境出海戰(zhàn)略研究報告
- 課題申報書:教育交流史研究
- 課題申報書:教育、科技、人才“三位一體”統(tǒng)籌背景下的高校體育事業(yè)發(fā)展研究
- 直播電商數(shù)據(jù)分析報表行業(yè)跨境出海戰(zhàn)略研究報告
- 2025年心理健康教育活動周總結(jié)模版
- 承包商入廠安全培訓(xùn)考試題答案典型題匯編
- 2025年湖北工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫必考題
- 2025年遼陽職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫必考題
- 6 汽車智能化用戶體驗(yàn)分析報告
- 防治傳染病知識培訓(xùn)課件
- 山特電子應(yīng)屆工程師入職培訓(xùn)資料
- 2025年高考英語二輪備考策略講座
- 2025江蘇中煙工業(yè)招聘128人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 國開2025年春季《形勢與政策》大作業(yè)答案
- 上海市農(nóng)村房地一體宅基地確權(quán)登記工作實(shí)施方案
- 游客服務(wù)中心提升改造項(xiàng)目可行性研究報告
評論
0/150
提交評論