delphi课程设计报告书Word下载.docx

上传人:b****7 文档编号:22111247 上传时间:2023-02-02 格式:DOCX 页数:37 大小:292.95KB
下载 相关 举报
delphi课程设计报告书Word下载.docx_第1页
第1页 / 共37页
delphi课程设计报告书Word下载.docx_第2页
第2页 / 共37页
delphi课程设计报告书Word下载.docx_第3页
第3页 / 共37页
delphi课程设计报告书Word下载.docx_第4页
第4页 / 共37页
delphi课程设计报告书Word下载.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

delphi课程设计报告书Word下载.docx

《delphi课程设计报告书Word下载.docx》由会员分享,可在线阅读,更多相关《delphi课程设计报告书Word下载.docx(37页珍藏版)》请在冰豆网上搜索。

delphi课程设计报告书Word下载.docx

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,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1