1、实验室开放管理平台的设计与开发创新性实验设计报告题 目: 实验室开放管理平台的设计与开发院 别: 数学与计算科学学院 专 业: 信息与计算科学 日 期: 摘 要实验室管理系统为实验室管理员提供方便可靠的平台和快捷的管理工具,其开发内容主要包括后台数据库的建立和维护以及前端实验室平台的管理两个方面。利用Delphi 7.0软件及其提供的各种面向对象的开发工具,建立使用简单、方便、易于管理、功能完备,易使用的实验室平台。本报告介绍该系统的管理模块,实验室各类信息的管理模块。该系统界面友好、程序设计风格简单,使用起来美观大方、方便易用。尤其是系统中组件的应用,使得系统简单化,让管理员通过输入自己想要
2、了解信息来了解情况,极大的减轻工作人员的工作量,并且快速、准确等优点取代人工操作,提高了实验室管理工作效率。关键词 : Delphi 7.0;数据库;实验室管理系统 实验室管理系统一、 实验目的(1)了解外部设备在程序开发过程中的应用;(2)学习用高级程序语言实现实验室的开放管理。二、 实验内容(1) 掌握一种高级计算机程序语言;(2) 研究该程序语言的编程接口;(3) 研究在计算机语言中如何结合第三方外设进行程序设计;(4) 画出相关程序设计与开发的应用效果图。三、实验仪器微型计算机,其配置为:CPU :intel core 2 Duo T6670,2.2GHZ内存: 1G硬盘: 320G操
3、作系统为: Microsoft Windows XP Professional,其上所安装的相关软件有:Borland Delphi 7.0,Microsoft SQL server 2005实验用编程语言:T_SQL编程软件:Dellphi7.0四、实验原理通过扫描器、扫描仪等输入设备扫描到的信息自动录入并保存到数据库中并且扫描时自动获取主机的系统时间,并自动存入数据库中。开发一个实验室开发管理平台连接到数据库,通过扫描器自动登记学生实验信息,还可以对学生信息进行查询、修改、删除、录入等功能。五、实验步骤1、数据库设计E-R图图1 系统E-R图2、实验室管理系统功能模块结构图(图2) 图2
4、功能结构图 3、设计表根据E-R图得出,在数据库中创建的表格如下:表1:课程安排表列名数据类型长度描述课号char15机房号char10周次char10星期char15节次char15表2:登记表列名数据类型长度描述学号char16非空机房号char14课号char14登记时间char20周次char15星期char15节次char15表3:课程表列名数据类型长度描述课号char15主键课名char30教师char15表4:学生信息表列名数据类型长度描述学号char15主键姓名char14非空性别char6非空学院char28班级char13联系电话char15六、功能模块设计1、实验课学生登
5、记模块图3 学生登记图(1)、把系统时间显示在程序面板上用now函数来获取系统时间,并用TTimer组件来将系统时间显示在面板上,程序如下:procedure TForm1.Timer1Timer(Sender: TObject); /利用TTimer来控制定时输出begin label4.Caption:=datetostr(now)+ +week+ +timetostr(now)+ ; /以指定的时间格式把时间输出在label4上end;(2)利用当前系统时间来计算出当前的星期:定义一个函数,使用获取的当前系统时间来计算出当前的星期,程序如下:function week: string;v
6、armytime:SYSTEMTIME;beginGetLocalTime(mytime); /获取当前系统时间case mytime.wDayOfWeek of /转换成星期几的格式0: Result:=星期日;1: Result:=星期一;2: Result:=星期二;3: Result:=星期三;4: Result:=星期四;5: Result:=星期五;6: Result:=星期六;end;end;(3)、自动安排当前时间的课程节次 定义一个函数来自动安排当前时间所处在第几节课,一天安排六节课,程序如下:function jie: string;vart:string;m:intege
7、r;begint:=formatdateTime(hh, Now(); /获取当前时间的小时m:=strtoint(t); /把时间转换为整形case m of /以当前的时间值来获得节次8,9: Result:=第一节;10,11: Result:=第二节;12,13: Result:=中午;14,15: Result:=第三节;16,17: Result:=第四节;18,19,20,21: Result:=晚上;end;end;(4)、自动把登记数据录入数据库 利用edit组件的OnKeyPress属性来实现,因为扫描枪扫描到的数据中自动带有一个回车键的作用,所以利用edit组件的OnKe
8、yPress属性来实现当获得一个回车键是就执行程序,并把当前记录的信息和本节课记录的所有信息分别显示出来,部分程序如下:begin if ord(key)=13 then /回车键的键号为13 begin if (edit1.Text)and (combobox1.Text)and (combobox2.Text) then begin time:=timetostr(now); with adoquery1 do Begin close; sql.clear; sql.Add(select 课号 from 课程安排表 where 机房号=+trim(combobox1.text)+ and
9、周次=+trim(combobox2.text)+and 星期=+trim(week)+ and 节次=+trim(jie)+); open; str1:=trim(fieldbyname(课号).asstring); /查询获取当前的实验课课号 end; if str1= then begin str1:=NULL; /如果本节课没有安排有实验课就记录为NULL end; with adoquery1 do Begin close; sql.clear; sql.Add(insert into 登记表 values(+trim(edit1.Text)+,+trim(combobox1.tex
10、t)+,+trim(str1)+,+trim(time)+,+trim(combobox2.Text)+,+trim(week)+,+trim(jie)+); execsql; close; sql.Clear; sql.Add(select 学号,课号,机房号,星期,登记时间 from 登记表 where 学号=+trim(edit1.Text)+ and 机房号=+trim(combobox1.Text)+and 周次=+trim(combobox2.Text)+and 星期=+trim(week)+ and 登记时间=+trim(time)+); open; end; edit1.Tex
11、t:=; edit1.SetFocus;2、登记信息管理模块图4 登记信息管理图本模块是查询和清除登录信息的,程序如下:if (combobox1.Text)and(combobox2.Text) and(combobox3.Text) and(combobox4.Text) then begin close; sql.Clear; sql.Add(select 学号,机房号,课号,周次,星期,节次 from 登记表 where 机房号=+trim(combobox1.Text)+ and 周次=+trim(combobox2.Text)+ and 星期=+trim(combobox3.Tex
12、t)+ and 节次=+trim(combobox4.Text)+); open; if (trim(fieldbyname(学号).asstring) then begin if Application.MessageBox(是否要删除这些记录?,删除提示框,MB_OKCANCEL)=IDOK then begin close; sql.Clear; sql.Add(delete from 登记表 where 机房号=+trim(combobox1.Text)+ and 周次=+trim(combobox2.Text)+ and 星期=+trim(combobox3.Text)+ and 节
13、次=+trim(combobox4.Text)+); execsql; close; sql.Clear; sql.Add(select 学号,机房号,课号,周次,星期,节次 from 登记表 where 机房号=+trim(combobox1.Text)+ and 周次=+trim(combobox2.Text)+ and 星期=+trim(combobox3.Text)+ and 节次=+trim(combobox4.Text)+); open; showmessage(删除成功); end; end; endelse3、学生信息管理模块图5 学生信息管理图查询语句如下:if edit1.
14、Text thenbeginwith adoquery1 do begin close; sql.Clear; sql.Add(select* from 学生信息表 where 学号=+trim(edit1.Text)+); open; end;end4、课程信息管理模块图6 课程信息管理图七、测试1、初始界面模块测试测试数据机房号=06406,周次=第三周,学号=0900710309操作步骤操作描述数 据期望结果1输入机房号,周次,学号机房号=06406,周次=第三周,学号=0900710309顺利出入表5:初始界面模块测试页面如图7、图8所示: 图7 测试效果图 图8 测试效果图2、登录信
15、息管理测试测试数据学号=0900710310,周次=第三周,机房号=06406操作步骤操作描述数 据期望结果实际结果1点击登录信息管理,输入“学号=0900710310”学号=0900710310查询数据库中已有登记的学生符合2在清除登录信息,输入“机房号=06406,周次=第三周”机房号=06406,周次=第三周删除数据库中相对应记录符合表6 信息管理测试表页面如图9、图10、图11所示: 图9 测试效果图 图10 测试效果图图11测试效果图3、学生信息管理测试测试数据学号=0900710310,姓名=郑宇霄操作步骤操作描述数 据期望结果实际结果1点击学生信息管理,输入“学号=0900710
16、310,姓名=郑宇霄”学号=0900710310,姓名=郑宇霄录入、查询、删除信息符合表7:学生信息管理测试表测试页面如图12所示:图12 测试效果图课程信息管理、实验课安排与学生信息管理类适,了其他信息的使用通过测试并没有出现问题。在这里就不在一一列举。八、实验总结 通过本次创新性实验,建立了同学间团队合作的意识,认识到团队合作的重要性,并且动手能力得到了锻炼,有了很大的提高,巩固了自己的知识,做到了学有所用。通过本次创新性实验,解决了很多困难,在解决困难的同时,我们的编程能力以及解决实际问题的能力都有了很大的提高,为以后的开发项目积累了很多的经验。而且使我们意识到我们的项目开发水平还不够,需要提高。要做好一个实验项目确实不容易,不仅需要掌握编程语言,而且还要完成项目的测试、实施、运行、维护以保证其安全性与可用性。在开发项目的过程中,体验到了学习的乐趣,增强了我们学习的积极性。希望在以后的学习生活中可以学到更多更好的知识,掌握更多的技能!九、参考文献1 童爱红,张琦,胡光兵. Delphi7应用教程 M.北京:清华大学出版社, 20042 王珊,萨师煊.数据库系统概论M.北京:高等教育出版社,2006.3 宋坤,邹天思. Delphi数据库系统开发完全手册M.北京:人民邮电出版社,2003.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1