Delphi试验室设备管理系统_第1页
Delphi试验室设备管理系统_第2页
Delphi试验室设备管理系统_第3页
Delphi试验室设备管理系统_第4页
Delphi试验室设备管理系统_第5页
免费预览已结束,剩余12页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验室设备管理系统摘要学校实验室设备管理系统是典型的设备信息管理系统(EMIS),要求能为学校实验室管理提供信息化动态化的管理,方便学校实验室设备管理工作,提高学校设备管理质量和使用效率。而且系统应符合设备管理的有关规定,包括新设备的申请、购买确认、新设备信息录入、旧设备维修和报废及用户管理等。能满足日常工作的基本需要,并达到操作过程中的直观、方便、实用、安全等有关要求。经过分析综合,使用Sybase公司的delphi7.0作为前端开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能够方便而简洁操纵数据库的智能化对象(后端采用SybaseASA数据库),本系统采用结构化程序设计方

2、法,严格按照结构化方法开发过程,从计划阶段到开发阶段再到维护阶段一步一步实现本系统的功能。关键词:设备信息管理系统(EMIS)delphi7.0SybaseASA数据库快速原型法面向对象数据窗口数据对象设备购买申请购买批准确认新设备信息录入设备维修设备报废用户登录用户管理一、引言随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识它已进入人类社会的各个领域并发挥着越来越重要的作用。实验室设备管理系统是一个众多企业、事业单位不可缺少的部分。它的内容对于企事业的决策者和管理者来说都至关重要,所以实验室设备管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传

3、统人工的方式管理设备,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间稍长,将产生大量的冗余,文件越来越多,使人工管理没有头绪,这对于查找、更新和维护都带来了很大的困难。作为计算机应用的一部分,使用计算机对学校实验室设备管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提设备管理的效率,也是正规化管理,与世界接轨的重要条件。1.1 编写目的本系统的开发正是为了完成这样的任务,使用计算机对实验室设备进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等

4、,它在当今信息社会已成为必要。1.2 背景仪征XX学校是一所职业中学,拥有多个实验室,实验室的仪器设备比较齐全,也比较多,每种设备情况都不一样。这就给实验室管理人员的管理带来了诸多不便。如果管理跟不上,一旦造成错误,很可能给学校造成巨大的损失。在没有使用管理软件前,管理人员一直为此而苦恼。今年,该校决定采用计算机技术进行设备上面的管理。根据该校的具体情况,本系统在实施后,将帮助实验室管理人员提高工作效率。本项目的任务提出者:学校实验室设备管理人员.开发:是本人的实验设计.用户:为学校实验室设备管理人员.使用该软件系统同时与其他Windos系统兼容,能方便实验室设备管理人员管理.1.3功能介绍系

5、统主要功能有:(1)设备管理:添加设备、添加设备、修改设备、设备情况查询。(2)系统管理:用户管理(添加用户、删除用户、更改密码)、换名登录、退出系统。(3)系统帮助:关于。、系统框架设计根据本系统的功能主框架设计如下所示:用户管理三、数据库设计针对该校的具体情况,本系统采用了Access2000数据库,数据库路径为人事管理系统。数据库共有4个数据库表:用户表、设备表、入库记录表、出库记录表。下面主要介绍一些重要数据库表的结构。1、用户表该表主要用来存放系统用户资料。其主要结构如下所示:字段名称数据类型字段大小说明用户名文本10用户的名称口令文本10用户的口令2、设备表设备表主要用来存放设备的

6、相关信息。表结构如下所示:字段名称数据类型字段大小说明编R文本6P设备的编号设备名称文本20设备的名称数量文本4设备的数量单价货币P设备的单价总金额货币设备的总金额3、入库记录表入库记录表主要用于存放设备入库时的相关信息。表结构如下图所示:字段名称数据类型字段大小说明编R文本6设备的编号设备名称文本20设备的名称数量文本4设备的数量总金额货币总金额入库日期日期/时间入库的日期经办人文本10经手办此事的人名备注备注备注4、出库记录表出库记录表主要用于存放设备出库时的相关信息。表结构如下图所示:字段名称数据类型字段大小说明编文本6:设备的编号设备名称文本20设备的名称数量文本4设备的数量总金额货币

7、总金额出库日期日期/时间入库的日期经办人文本10经手办此事的人名备注备注备注Delphi7.0中数据库的连接方式。Delphi可以使用多种数据库。我们这里使用ADO开发数据库技术。使用ADO开发数据库程序,通常需要以下组件:Datasource。Adoconnetion。Adocommand。adodatasetadotable。adoquery。adostoredproco使用ADO开发数据库程序的步骤如下:(1)在窗体添加TADOConnection组件(名称为ADOConnectionl),可以双击该组件设计其数据库连接属性。如下图所示:选才UUserConnectionString,然

8、后单击Build按钮,进入下图所示的界面。使用OLEDB连接能够发挥更大的效率。现在我们使用的是Access2000,则可以选择MicrosoftJet4.0OLEDBProvider。选择好后,单击"下一步"按钮,进入下图所示界面。点右边的按钮,则进入选择数据库页面。选择好数据库,点击测试连接按钮。四、详细设计1、系统登录界面设计程序启动后,首先进入“系统登录”界面验证操作员密码。系统登录窗口主要实现如下功能:以图标列表形式显示操作员,并凭口令进入系统。操作员错误或密码错误提醒并返回错误点。系统登录界面如下图所示:具体实现如下:添加新窗体,设置窗体caption属性为登陆

9、窗口,向窗体中添加相关控件。程序代码如下:procedureTloginform.FormShow(Sender:TObject);/让窗体在显示之后,框中有用户选择。varlist_a:TlistItem;beginadoquery1.Close;adoquery1.SQL.Clear;adoquery1.sql.add('select*from用户表');/选择所有操作员adoqueryl.Open;listviewl.Items.Clear;/清空列表whilenotadoqueryl.Eofdo/将所有操作人员加入到列表beginlist_a:=listview1.It

10、ems.Add;list_a.Caption:=adoquery1.fieldbyname('用户名').AsString;list_a.ImageIndex:=1;adoqueryl.Next;end;editl.setfocus;end;procedureTloginform.Button2Click(Sender:TObject);/退出beginclose;end;procedureTloginform.ListView1Click(Sender:Tobject);/选择操作员beginiflistviewl.Selected<>Nilthen/如果选择不为

11、空adoqueryl.Locate('用户名',listview1.Selected.Caption,loPartialkey);end;procedureTloginform.Button1Click(Sender:TObject);/如果密码不正确beginifeditl.Text<>adoquery1.FieldByName('口令').AsStringthenbeginshowmessage(密码不正确请重新输入!);edit1.Clear;edit1.SetFocus;endelsebeginmainform.showmodal;edit1

12、.Clear;listview1.SetFocus;end;end;procedureTloginform.Edit1KeyPress(Sender:TObject;varKey:Char);/执行登录操作beginifkey=#13thenbuttonl.Click;end;2、主窗体界面设计程序启动后,在登录操作员密码后,将进入主程序界面。主程序界面主要实现如下功能:使用菜单操作、显示系统日期、单位信息。通过主界面,退出程序。3、系统管理功能模块的设计(1)用户管理添加按钮的代码如下:procedureTyhglform.Button1Click(Sender:TObject);begin

13、adotable1.Append;tjyhform.showmodal;/添加用户窗口显end;删除按钮的程序如下:procedureTyhglform.Button2Click(Sender:TObject);beginifmessagebox(yhglform.Handle,'确定要删除本条记录吗?,请确认',mb_okcancel)=idokthenbeginadotable1.delete;end;end;添加用户窗口如下所示:输入用户名和密码,点击确定。代码如下:procedureTtjyhform.Button1Click(Sender:TObject);begin

14、yhglform.adotable1.post;dbedit1.Text:=''dbedit1.Clear;dbedit2.Text:=''dbedit1.SetFocus;end;(2)修改口令窗口如下所示:该界面之确定按钮代码如下:procedureTfrm_xgmm.BitBtn1Click(Sender:TObject);beginifedit3.Text<>edit2.Textthenbeginmessagebox(frm_xgmm.Handle,'请重新确认新密码!','提示',mb_iconerror);

15、edit3.Textk";edit3.SetFocus;endelsebeginadotable1.Edit;adotable1.Fields1.Value:=edit3.Text;adotable1.Post;messagebox(frm_xgmm.Handle,'您的密码修改成功!':信息',mb_iconasterisk);close;end;4、设备管理模块的设计(1)设备资料入库end;“确定”按钮的程序如下:procedureTsbrkform.Button1Click(Sender:TObject);beginifedit6.Text="

16、;thenbeginshowmessage(该记录不能为空');exit;edit6.Clear;edit6.SetFocus;end;iflength(trim(edit1.Text)<>6thenbeginshowmessage(清输入6位设备编号);判断设备编号是否为6位edit1.Clear;edit1.SetFocus;exit;end;withadoquery1dobeginclose;adoquery1.SQL.Clear;adoquery1.SQL.add('select*from设备表where编号=:id');parameters.par

17、ambyname('id').Value:=edit1.text;adoquery1.Open;ifrecordcount>0thenbeginadoquery1.Edit;adoquery1.fieldbyname('数量).Value:=strtoint(edit3.text)+strtoint(adoquery1.FieldByName('数量').asstring);adoquery1.FieldByName('总、金额').Value:=strtoint(adoquery1.fieldbyname('单价).ass

18、tring)*strtoint(adoquery1.fieldbyname('数量').asstring);adoquery1.FieldByName('编号').Value:=edit1.Text;adoquery1.FieldByName('设备名称').Value:=edit2.Text;adoquery1.FieldByName('单价').Value:=edit4.Text;post;endelsebeginadoquery1.Append;adoquery1.FieldByName('编号').Valu

19、e:=edit1.Text;adoquery1.FieldByName('设备名称).value:=edit2.Text;adoquery1.FieldByName('数量').Value:=edit3.Text;adoquery1.FieldByName('单价').Value:=edit4.Text;adoquery1.FieldByName('总金额').Value:=strtoint(edit4.Text)*strtoint(edit3.Text);post;end;withadoquery2doadoquery2.Close;a

20、doquery2.SQL.Clear;adoquery2.SQL.Add('select*from入库记录表,);adoquery2.Open;adoquery2.Edit;:=edit1.Text;:=edit2.Text;:=edit3.Text;:=strtoint(edit3.Text)*strtoint(edit4.Text);:=date;:=edit6.Text;:=memo1.Text;adoquery2.Append;adoquery2.Fields0.Valueadoquery2.Fields1.Valueadoquery2.Fields2.Valueadoquer

21、y2.Fields3.Valueadoquery2.Fields4.Valueadoquery2.Fields5.Valueadoquery2.Fields6.Valueadoquery2.Post;end;edit1.Clear;edit2.Clear;edit3.Clear;edit4.Clear;edit6.Clear;memo1.Clear;edit1.SetFocus;end;该程序为判断该产品是否在设备库中有库存,如果有库存,则会使原有的库存产生改变。(2)设备资料管理该程序模块的用法如下:先在左边选中某个数据,如果想修改,则点击修改按钮,则左边选中数据在右边显示出详细信息。用户修

22、改之后,点击保存即可。另外此界面中还实现了查询、打印功能。具体该程序的代码如下所示:procedureTsbglform.Button1Click(Sender:TObject);/修改按钮的程序代码beginedit1.Text:=adoquery1.Fields0.AsString;edit2.Text:=adoquery1.Fields1.AsString;edit3.Text:=adoquery1.Fields2.AsString;edit4.Text:=adoquery1.Fields3.AsString;edit5.Text:=adoquery1.Fields4.AsString;

23、end;procedureTsbglform.Edit4Exit(Sender:TObject);/当修改过价格或数量之后,总金额会智能改变。beginedit5.Text:=inttostr(strtoint(edit4.Text)*strtoint(edit3.Text);end;procedureTsbglform.Edit3Exit(Sender:TObject);beginedit5.Text:=inttostr(strtoint(edit4.Text)*strtoint(edit3.Text);end;procedureTsbglform.Button2Click(Sender:T

24、Object);/保存按钮的程序代码如下beginwithadoquery1dobeginadoquery1.delete;end;withadoquery1dobeginclose;withsqldobeginclear;add('insertinto设备表values(:p0,:p1,:P2,:p3,:p4)');end;parameters0.value:=edit1.text;parameters1.value:=edit2.text;parameters2.value:=edit3.text;parameters3.value:=edit4.text;paramete

25、rs4.value:=edit5.text;execsql;end;withadoquery1dobeginclose;withSQLdobeginclear;add('select*from设备表');end;execsql;open;end;end;procedureTsbglform.Button3Click(Sender:TObject);/删除记录beginifapplication.MessageBox('确定要删除这条记录吗>','提示',mb_okcancel+mb_iconinformation)=id_okthenwit

26、hadoquery1doifisempty=falsethendelete;end;procedureTsbglform.Button5Click(Sender:TObject);beginifcombobox1.Text='编号'thenbeginwithadoquery1dobeginclose;sql.Clear;sql.add('select*from设备表where编号=:id');parameters.ParamByName('id').Value:=edit6.text;open;ifrecordcount=0thenbeginap

27、plication.MessageBox('没有检索到该设备信息,提示',mb_ok+mb_iconinformation);end;end;end;ifcomboboxl.Text='设备名称'thenbeginwithadoquery1dobeginclose;sql.Clear;sql.add('select*from设备表where编号=:d');parameters.ParamByName('d').Value:=edit6.text;open;ifrecordcount=0thenbeginapplication.Me

28、ssageBox('没有检索到该设备信息,提示',mb_ok+mb_iconinformation);end;end;end;end;procedureTsbglform.Button6Click(Sender:TObject);/打印窗口的代码如下beginbbdyform.QuickRep1.Preview;end;procedureTsbglform.FormShow(Sender:TObject);beginadoquery1.Close;adoquery1.SQL.clear;adoquery1.SQL.add('select*from设备表,);adoque

29、ryl.Open;end;procedureTsbglform.Button7Click(Sender:TObject);/刷新beginadoqueryl.Refresh;end;假备祷革打印编号设备名称教重单价息金额oom眦棘2720540000003鼠悚20401BDO000001计算机3920007BOOD(3)入库记录查询功能为可查询历来设备入库的具体记录。界面如下所示:入货情况2d编号名称数量I总金额入库日期经办人一OOOOOS计苴机121802005-5-18高飞000001计受机1428000200518高飞000001计算5-1e高飞000002鼠标

30、122402005-5-18高飞000002鼠文兵000003鼠标208002005-M9蒋冬生查询条件入库时间等于:2005-5193确定离开可按照入库时间来查询。程序代码如下所示:procedureTrkcxform.Button1Click(Sender:TObject);begininherited;withadoquery1dobeginclose;adoquery1.SQL.clear;adoquery1.SQL.add('select*from入库记录表where入库日期=:id');adoqueryl.Parameters.paramb

31、yname('id').value:=datetostr(datetimepicker1.Date);adoquery1.open;adoquery1.first;end;end;(4)设备资料出库功能为对设备库中的设备出库操作。界面如下所示:该模块具有智能化,会根据你输入的设备编号,自动得出设备名称。程序代码具体如下:procedureTsbckform.Button1Click(Sender:TObject);beginifedit6.Text="thenbeginshowmessage(该记录不能为空');exit;edit6.Clear;edit6.S

32、etFocus;end;iflength(trim(edit1.Text)<>6thenbeginshowmessage(清输入6位设备编号');edit1.Clear;edit1.SetFocus;exit;end;withadoquery1dobeginclose;adoquery1.SQL.Clear;adoquery1.SQL.add('select*from设备表where编号=:id');parameters.parambyname('id').Value:=edit1.text;adoquery1.Open;ifrecordcount>0thenbeginadoquery1.Edit;adoquery1.fieldbyname('数量').Value:=strtoint(adoquery1.FieldByName('

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论