delphi课程设计报告书Word下载.docx
- 文档编号:22111247
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:37
- 大小:292.95KB
delphi课程设计报告书Word下载.docx
《delphi课程设计报告书Word下载.docx》由会员分享,可在线阅读,更多相关《delphi课程设计报告书Word下载.docx(37页珍藏版)》请在冰豆网上搜索。
32学时
3、总结和书写报告阶段:
2学时
4、考核阶段:
指导教师:
刘俊2011年1月6日
人事管理系统
1、需求分析
1.新员工资料输入。
2.自动分配员工号,并且设置初始的用户密码,能够分配权限执行不同的模块。
3.人事变动的详细记录,包括岗位和部门的调整。
4.员工信息的查询和修改,包括员工个人信息和密码等。
5.帮助。
2、程序要求
1.功能模块图
2.系统界面
1:
进入界面;
代码:
procedureTqdform.FormCreate(Sender:
TObject);
var
windowid:
hwnd;
begin
=findwindow(nil,'
F_main'
);
ifwindowid<
>
0then
begin
MessageBox(handle,'
错误:
系统已经启动!
'
'
系统启动错误'
MB_OKorMB_ICONERROR);
//showwindow(foundwin,9);
halt;
end;
end;
end.
2:
登陆界面
unitlogin;
interface
uses
Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,
StdCtrls,Inifiles;
type
TF_login=class(TForm)
Label1:
TLabel;
Label2:
Label3:
Label4:
i_server_add:
TComboBox;
i_user:
TEdit;
i_passwd:
Button1:
TButton;
Button2:
procedureButton1Click(Sender:
procedureFormShow(Sender:
procedureFormCreate(Sender:
procedureFormClose(Sender:
TObject;
varAction:
TCloseAction);
private
{Privatedeclarations}
public
{Publicdeclarations}
F_login:
TF_login;
Inifile:
TInifile;
implementation
usesDataModule,crypt,mainwin;
{$R*.DFM}
procedureTF_login.Button1Click(Sender:
passwd,passwrd:
String;
application.CreateForm(TDataModule1,DataModule1);
WithDataModule1do
Database.Connected:
=False;
Database.AliasName:
=i_server_add.Text;
=True;
T_user.Filter:
='
ID='
+i_user.Text+'
;
T_user.Filtered:
T_user.Open;
ifT_user.RecordCount=1then
passwd:
=i_passwd.Text;
iflength(passwd)>
5then
=Copy(passwd+passwd,1,10);
//统一密码长度
=Encrypt(passwd,123);
//加密
passwrd:
=T_user['
PASSWD'
];
if(passwrd=passwd)and(T_user['
AUTHORITY'
]='
3'
)then
F_main.login:
end
else
Application.MessageBox('
请重新输入密码。
+#13+'
注意大小写!
密码错误'
MB_OK);
请确认用户名大小写是否正确!
无此用户'
T_user.Close;
ifF_main.loginthenF_login.Close
elseDataModule1.Free;
procedureTF_login.FormShow(Sender:
self.i_server_add.SetFocus;
procedureTF_login.FormCreate(Sender:
=TInifile.Create(extractfilepath(paramstr(0))+'
SERVER.ini'
);
iffileexists(extractfilepath(paramstr(0))+'
i_server_add.Text:
=inifile.ReadString('
SERVER'
SERVERNAME'
i_user.Text:
USERNAME'
procedureTF_login.FormClose(Sender:
ifnotfileexists(extractfilepath(paramstr(0))+'
inifile.WriteString('
i_server_add.Text);
i_user.Text);
inifile.Free;
End.
3:
unitadd;
childwin,StdCtrls,DBCtrls,Mask,ExtCtrls;
TF_add=class(TMDIChild)
Label5:
Label6:
Label7:
Label9:
Label10:
Label11:
Label12:
Label13:
Label14:
i_department:
TDBLookupComboBox;
i_job:
i_edu_level:
TDBEdit;
i_name:
i_birthday:
i_specialty:
i_address:
i_tel:
i_email:
i_remark:
TDBMemo;
i_sex:
TDBRadioGroup;
DBLookupComboBox1:
procedureAddInit;
F_add:
TF_add;
usesDataModule,mainwin,crypt;
procedureTF_add.AddInit;
counter:
integer;
id:
//生成员工号
T_counter.Filter:
P'
T_counter.Filtered:
T_counter.Open;
=T_counter['
COUNTER_VALUE'
T_counter.Close;
00000'
+IntToStr(counter);
+Copy(id,length(id)-4,5);
//增加新记录
T_add_user.Open;
T_add_user.Append;
T_add_user['
ID'
]:
=id;
SEX'
M'
STATE'
T'
i_passwd.Text:
procedureTF_add.FormCreate(Sender:
F_main.M_add.Enabled:
F_main.TB_add.Enabled:
Width:
=272;
Height:
=469;
datamodule1.T_department.Open;
ifnotT_department.ActivethenT_department.Open;
ifnotT_job.ActivethenT_job.Open;
ifnotT_edu_level.ActivethenT_edu_level.Open;
AddInit;
procedureTF_add.Button1Click(Sender:
Integer;
iflength(i_name.Text)>
//累加员工编号计数器
T_counter.Edit;
T_counter['
]+1;
T_counter.Post;
//增加员工个人信息记录
T_add_user.Edit;
=passwd;
T_add_user.Post;
//获取人事变动记录号
C'
Inc(counter);
=counter;
//追加人事变动记录
T_change.Open;
T_change.Append;
T_change['
PERSON'
=i_user.Text;
CHANGE'
2'
RECORD_TIME'
=Now;
DESCRIPTION'
加入公司。
T_change.Post;
T_change.Close;
procedureTF_add.FormClose(Sender:
inherited;
T_add_user.Cancel;
T_add_user.Close;
4:
更改界面
unitchange;
childwin,StdCtrls,ExtCtrls,DBCtrls,Mask;
TF_change=class(TMDIChild)
i_id:
GroupBox1:
TGroupBox;
i_change:
TRadioGroup;
i_description:
TMemo;
i_time:
TMaskEdit;
procedurei_idChange(Sender:
procedureChangeInit;
F_change:
TF_change;
usesDataModule,mainwin;
procedureTF_change.ChangeInit;
i_id.Text:
//清空员工号输入框
DataModule1.T_user.Close;
//关闭员工查询数据表
i_change.ItemIndex:
=0;
//默认员工变动为职务变更
i_time.Text:
=DateToStr(Now);
//加入当前时间
i_description.Clear;
//清空描述
procedureTF_change.i_idChange(Sender:
WithDataModule1do
+i_id.Text+'
procedureTF_change.FormCreate(Sender:
F_main.M_change.Enabled:
F_main.TB_change.Enabled:
=282;
=429;
ChangeInit;
procedureTF_change.FormClose(Sender:
//继承父类的关闭事件
//恢复菜单的使用
//恢复按钮的使用
procedureTF_change.Button1Click(Sender:
//保存计数器
WithDataModule1do//设置默认前缀为DataModule1
ifT_user.RecordCount=1then//判断是否存在该员工
=counter+1;
//把新的计数器的值写入表中
//保存表的记录
//关闭表
T_user.Edit;
ifi_change.ItemIndex=1then
T_user['
F'
//取消员工帐号
T_user.Post;
//保存
//修改人事变动记录
=i_id.Text;
=IntToStr(i_change.ItemIndex);
=StrToDate(i_time.Text);
=i_description.Text;
//关闭
//在初始化表单
请确认员工号!
输入错误'
5:
MDICHild
unitChildwin;
usesWindows,Classes,Graphics,Forms,Controls,StdCtrls;
TMDIChild=class(TForm)
procedureTMDIChild.FormClose(Sender:
Action:
=caFree;
6:
数据连接
unitDataModule;
Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- delphi 课程设计 报告书