【编者按】网学网DELPHI类作品频道为大家收集整理了“基于DELPHI中国农业银行助学贷款管理系统的设计“提供大家参考,希望对大家有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
§6.5 操作员信息设置窗体 这里是设置操作员信息的窗体单元。用户可以通过增加按钮任意增加一个操作员,同样也可以通过修改或者删除按钮实现相应的操作。另外,为了方便用户,双击dbgrid也会出现编辑对话框。 此外,还有类似的窗体,如代理商信息设置,商品信息设置等等,由于这些窗体在结构上具有相似性,在此就不一一赘述了。 §6.6 代理商进/退货录入窗口 如上图所示,在录入进货数据时,必须先选择代理商的姓名,然后双击dbgrid就可以实现对出售商品的选择。为了保证数据表的参照完整性,在点击保存按钮的时候,系统会检查录入的数据是否完整,如缺少项目,系统会给出正确的提示。 退货数据录入窗口和进货数据录入敞口大体相当,唯一不同的是在保存时候会检查代理商是否有过相应的进货数据,如在没有进货纪录的同时退货,系统会给出相应的提示。 §6.7 定单进货数据录入窗口以及查询窗口 该窗体是供使用者输入订货单信息时候使用的,使用者可以对订单进行增加修改删除等具体操作。订单查询窗口与之类似,但是不提供增加和修改功能。 §6. 8 代理商销售数据查询 该功能分为两个窗体实现,分别是一般数据查询和明细数据查询。 上图是一般查询,使用者通过对代理商,商品名称以及商品型号的选择,可以很快地查到该代理商的进货情况,并且可以通过报表打印输出。 上图是代理商进货明细查询,蓝色的字体标出的是该代理商的进货记录,红色的字体标出的是该代理商的退货记录,同时,使用者还可以使用对代理商姓名,商品名称及型号的输入,轻松实现对个别代理商销售的查询。必不可少的,该窗体同样向用户提供打印输出功能。 §6. 9 商品分布查询 该窗体以图形化的界面,简单直观的向使用者提供商品的查询功能,使用者可以通过已知商品信息迅速查询到与此种商品相关的代理商信息,同时,也可用过代理商的信息反查处其代理的商品状况。 此外,为了实现系统的界面风格和报表输出功能,用到了两个控件,分别是 XpMenu3.1 修改版 和QRMaker 。具体的安装和使用方法就不在这里详细说明。 本系统主要分为四个主要功能,即订单系统,代理商系统,备份系统,何管理员系统。其中,订单系统和代理商系统是为商品销售服务的,而管理员登陆系统是为数据安全考虑的,最后的备份系统有助于提高系统的健壮性,在系统崩溃后可以把损失降到最低限度。同时,本系统也提供了丰富的打印功能,使得计算机里的数据可以以书面的形式印刷并且传播,不会出现信息孤岛的现象。 七 结束语 经过几个月的设计和开发,商品销售管理系统基本开发完毕。其功能基本符合用户需求,能够完成商品流通过程中所涉及到的基本信息的、输入、修改,查询等动能。并提供部分系统维护功能,使用户方便进行用户名称和密码的更改,提高了软件的安全性和健壮性。此外,本软件对于数据的一致性的问题也通过程序进行了有效的解决。 但现实中的商品交易形式是多种多样的,是由于毕业设计时间较短,需求分析做得不够完善,个人能力以及精力等因素的限制,所以该系统只假设了两种形式销售方式,即订单销售和代理商销售,并且假设这两种销售方式在商品的流通过程中不存在互相干扰的现象。另外,该系统还有许多不尽如人意的地方。比如功能不是很完善、用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。 致谢 在本次毕业设计中,我从指导老师身上学到了很多东西。老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。她无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢她耐心的辅导。另外,系统能及时开发完成也得益于同组同学之间的密切协作,这里一并表示感谢! 附录程序清单及注释 程序清单 unit LogoUnit;//登陆窗口 interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, ComCtrls, StdCtrls; type TLogoForm = class(TForm) Panel1: TPanel; StatusBar1: TStatusBar; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var LogoForm: TLogoForm; implementation uses LoginUnit; {$R *.dfm} procedure TLogoForm.FormCreate(Sender: TObject); var Foundwin: HWND; begin Foundwin := FindWindow(nil, ''商品销售管理系统 -''); // 查找窗口 if Foundwin <> 0 then begin // 调用Delphi自带的查询窗口函数,查找特定标题的窗体 // 若找到则激活已运行的程序,同时结束自身 ShowWindow(Foundwin, SW_RESTORE); halt; end; end; end unit LoginUnit; //密码登陆窗口 interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, DB, DBTables, Registry, DBCtrls; type TLoginForm = class(TForm) PanelBkGnd: TPanel; Label2: TLabel; Label1: TLabel; Label3: TLabel; L_name: TLabel; Panel_button: TPanel; Bevel_button: TBevel; OKBtn: TButton; CancelBtn: TButton; E_ID: TEdit; E_PassWord: TEdit; query_pass: TQuery; procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure OKBtnClick(Sender: TObject); procedure E_IDChange(Sender: TObject); procedure E_IDKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure CancelBtnClick(Sender: TObject); procedure FormCreate(Sender: TObject); private B_halt: bool; I_logo: integer; { Private declarations } public { Public declarations } end; var LoginForm: TLoginForm; implementation uses MainUnit, LogoUnit; {$R *.dfm} procedure TLoginForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean); var S_temppass: string; begin inherited; if b_halt then begin query_pass.Close; query_pass.Free; application.Terminate; exit; end else b_halt := true; S_temppass := E_password.text; USERNAME := L_name.Caption; if (E_id.Text = '''') or (L_name.Caption = ''未知用户'') then //用户名为空 begin messagedlg(''用户错误'', mterror, [mbok], 0); E_id.SetFocus; canclose := false; exit; end //end if else //用户名非空 begin with query_pass do begin first; while not eof do //检查用户名与密码 begin if (USERNAME = fieldbyname(''USERname'').asstring) and (S_tempPass = fieldbyname(''Psd'').asstring) then begin USERRIGHTSNAME := fieldbyname(''rightsname'').AsString; USERRIGHTS := fieldbyname(''rights'').AsString; break; end; next; end; //end while if eof then //用户名与密码不符 begin inc(I_logo); if I_logo >= 3 then begin messagedlg(''您已尝试超过 3 次,系统将停止运行!'', mterror, [mbok], 0); query_pass.Close; query_pass.Free; application.Terminate; end else begin messagedlg(''用户名与密码不符,请检查后重新输入。'' + #13 + #13 + ''你还有 '' + inttostr(3 - I_logo) + '' 次机会!'', mterror, [mbok], 0); e_password.SetFocus; e_password.SelectAll; canclose := false; exit; end; end; //end if end; //end with end; //end else if; MainForm.StatusBar_main.Panels.Items[3].Text := ''操作员:【'' + USERNAME + ''】 权限:〖'' + USERRIGHTSNAME + ''〗''; query_pass.Free; canclose := true; end; procedure TLoginForm.OKBtnClick(Sender: TObject); begin b_halt := false; self.Close; end; procedure TLoginForm.E_IDChange(Sender: TObject); begin with query_pass do begin first; while not eof do begin if E_id.Text = fieldbyname(''ID'').AsString then begin L_name.Caption := fieldbyname(''USERName'').AsString; exit; end else L_name.Caption := ''未知用户''; next; end; end; end; |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |