2.3 系统的总体设计 这个管理系统从4月1日开始着手设计开发,经过一段时间的分析,并根据对企事业单位工资管理的具体要求及需要本软件实现的功能,将本软件分为3个大的模块,分别是:第一部分:数据库信息录入;第二部分:查询报表;第三部分:系统维护 copyright paper51.com 程序流程图如下: 内容来自论文无忧网 www.paper51.com http://www.paper51.com 2.4 系统的详细设计 http://www.paper51.com
进入Access后要做的第一件事就是建立一个数据库。Access提供了6种用构造数据库系统的对象,根据本课题的需要,在这里选择一个空的数据库,命名建立了一个数据库名称为“YZW_GL”,工资管理系统。并在此数据库下创建了六个表,用于存放原始数据。它只是存放数据,对其中数据的修改要通过对应的窗体来完成。创建各表的具体结构如下: copyright paper51.com 1.gdinfo信息表 内容来自www.paper51.com
内容来自www.paper51.com 2.工资信息表 内容来自www.paper51.com
内容来自论文无忧网 www.paper51.com 3.hzinfo信息表 http://www.paper51.com
paper51.com
4.jcinfo信息表 http://www.paper51.com paper51.com 5.qx_info信息表 copyright paper51.com http://www.paper51.com 6.userinfo信息表 paper51.com 内容来自www.paper51.com 3 本程序的技术实现及具体功能 copyright paper51.com 3.1 登录的界面与程序设计实现 paper51.com 内容来自www.paper51.com 代码设计: http://www.paper51.com
unit p_password; copyright paper51.com
interface 内容来自www.paper51.com uses copyright paper51.com Windows, Messages, SysUtils, Variants,Classes, Graphics, Controls, Forms, 内容来自论文无忧网 www.paper51.com Dialogs, ExtCtrls, StdCtrls, Buttons,DBCtrls, jpeg,ActnList; copyright paper51.com type 内容来自www.paper51.com Tf_password = class(TForm) 内容来自论文无忧网 www.paper51.com
Bevel1: TBevel; http://www.paper51.com Label1: TLabel; copyright paper51.com
Label2: TLabel; http://www.paper51.com e_password: TEdit; 内容来自www.paper51.com Label3: TLabel; copyright paper51.com ComboBox1: TComboBox; 内容来自论文无忧网 www.paper51.com Image1: TImage; http://www.paper51.com b_ok: TSpeedButton; paper51.com b_cancel: TSpeedButton; copyright paper51.com e_user: TDBLookupComboBox; 内容来自www.paper51.com
procedure qx; //自定义过程---登陆时用户的权限设置 内容来自论文无忧网 www.paper51.com procedureb_okClick(Sender: TObject); paper51.com procedureSpeedButton1Click(Sender: TObject); paper51.com procedureb_cancelClick(Sender: TObject); 内容来自论文无忧网 www.paper51.com
procedureE_USEKeyDown(Sender: TObject; var Key: Word; http://www.paper51.com Shift: TShiftState); http://www.paper51.com procedureFormCreate(Sender: TObject); 内容来自论文无忧网 www.paper51.com procedureJC_DATETIME; http://www.paper51.com procedureFormClose(Sender: TObject; var Action: TCloseAction); 内容来自www.paper51.com proceduree_userKeyPress(Sender: TObject; var Key: Char); http://www.paper51.com
proceduree_passwordKeyPress(Sender: TObject; var Key: Char); //检测系统日期时间 copyright paper51.com
private 内容来自www.paper51.com
{ Privatedeclarations } 内容来自论文无忧网 www.paper51.com public 内容来自论文无忧网 www.paper51.com rz_id:integer;//保存日志ID http://www.paper51.com { Publicdeclarations } paper51.com end; 内容来自论文无忧网 www.paper51.com var paper51.com f_password: Tf_password; 内容来自www.paper51.com user_name:string; //全局变量,保存登陆系统的用户名 copyright paper51.com implementation paper51.com uses p_mc,p_gl,P_DM; http://www.paper51.com
{$R *.dfm} copyright paper51.com procedure tf_password.JC_DATETIME; paper51.com begin http://www.paper51.com //检测计算机日期时间是否小于上次登陆日期时间 内容来自www.paper51.com with dm do http://www.paper51.com begin http://www.paper51.com t_dl.Open; copyright paper51.com ift_dl['dl_date']>now then 内容来自论文无忧网 www.paper51.com
begin 内容来自www.paper51.com t_dl.Edit; paper51.com t_dl['dl_date']:=strtodate('1900-03-20'); paper51.com t_dl.Post; http://www.paper51.com application.MessageBox('计算机日期或时间有误,请更正!','登陆失败',mb_ok+mb_iconstop); 内容来自www.paper51.com f_password.Close; http://www.paper51.com end 内容来自论文无忧网 www.paper51.com
else 内容来自论文无忧网 www.paper51.com begin copyright paper51.com t_dl.Edit; 内容来自www.paper51.com t_dl['dl_date']:=datetostr(now); copyright paper51.com t_dl.Post; 内容来自www.paper51.com // t_dl.Close; 内容来自论文无忧网 www.paper51.com end; //endif paper51.com
t_dl.Close; paper51.com
end; //with dmdo 语句完毕 内容来自www.paper51.com end; http://www.paper51.com proceduretf_password.qx; //自定义过程---登陆时用户的权限设置 内容来自论文无忧网 www.paper51.com
var 内容来自www.paper51.com n:integer; paper51.com
xz:boolean; //该权限是否选择 paper51.com begin 内容来自论文无忧网 www.paper51.com
with dm,f_gl do copyright paper51.com
begin paper51.com t_qx.Open; 内容来自www.paper51.com t_qx.Filter:='user_name='''+user_name+''''; http://www.paper51.com t_qx.Filtered:=true; 内容来自www.paper51.com
t_qx.First; paper51.com while nott_qx.eof do 内容来自论文无忧网 www.paper51.com begin 内容来自www.paper51.com n:=t_qx['menu_id']; http://www.paper51.com xz:=t_qx['menu_xz']; http://www.paper51.com if xz then TAction(f_gl.AL.Actions[n]).Enabled:=true elseTAction(f_gl.AL.Actions[n]).Enabled:=false; http://www.paper51.com
t_qx.Next; 内容来自www.paper51.com end; //while ..END paper51.com t_qx.Close; http://www.paper51.com
end; //with dm do ..END 内容来自www.paper51.com
end; copyright paper51.com procedure Tf_password.b_okClick(Sender: TObject); 内容来自论文无忧网 www.paper51.com begin paper51.com f_password.Hide; copyright paper51.com f_gl.Show; http://www.paper51.com end; 内容来自论文无忧网 www.paper51.com
procedure Tf_password.SpeedButton1Click(Sender:TObject); 内容来自www.paper51.com begin 内容来自论文无忧网 www.paper51.com //确认用户密码、权限的合法性 copyright paper51.com
with dm do 内容来自论文无忧网 www.paper51.com begin http://www.paper51.com
t_user.Filter:='name='''+e_user.KeyValue+''''; 内容来自www.paper51.com t_user.Filtered:=true; paper51.com user_name:=t_user['name'];//记录登陆用户用户名 http://www.paper51.com if(trim(e_user.KeyValue)=trim(t_user['name']))and(trim(e_password.Text)=trim(t_user['password']))then 内容来自论文无忧网 www.paper51.com begin http://www.paper51.com f_password.JC_DATETIME; //检测计算机日期时间 http://www.paper51.com //写入登陆日志 内容来自www.paper51.com t_jrrz.Open; http://www.paper51.com rz_id:=t_jrrz.RecordCount+1; //记录登录系统ID 内容来自www.paper51.com t_jrrz.Edit; 内容来自论文无忧网 www.paper51.com t_jrrz.Append; copyright paper51.com
t_jrrz['rz_id']:=rz_id; 内容来自论文无忧网 www.paper51.com t_jrrz['user_name']:=user_name; 内容来自www.paper51.com t_jrrz['menu_caption']:='系统登陆'; http://www.paper51.com t_jrrz['jrrq']:=now; 内容来自www.paper51.com
t_jrrz['rq']:=datetostr(now); http://www.paper51.com t_jrrz.Post; paper51.com t_jrrz.Close; 内容来自www.paper51.com //日志写完毕 内容来自论文无忧网 www.paper51.com f_password.Hide; http://www.paper51.com
f_gl.Show; 内容来自论文无忧网 www.paper51.com f_gl.ZT.Panels[2].Text:='当前操作员: '+t_user['name']; 内容来自www.paper51.com
f_password.qx; //调用用户的权限过程 copyright paper51.com
t_user.Filtered:=false; 内容来自论文无忧网 www.paper51.com t_user.Close; paper51.com end copyright paper51.com
else paper51.com
begin copyright paper51.com t_user.Filtered:=false; copyright paper51.com f_password.e_password.Text:=''; 内容来自www.paper51.com
application.MessageBox('您输入的用户或口令有误,注意大小写!','提示',mb_ok+mb_iconinformation); copyright paper51.com
end; //endif 内容来自论文无忧网 www.paper51.com end;//with .. end copyright paper51.com
end; 内容来自www.paper51.com
|