资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
创新性实验设计报告题 目: 实验室开放管理平台的设计与开发院 别: 数学与计算科学学院 专 业: 信息与计算科学 日 期: 摘 要实验室管理系统为实验室管理员提供方便可靠的平台和快捷的管理工具,其开发内容主要包括后台数据库的建立和维护以及前端实验室平台的管理两个方面。利用Delphi 7.0软件及其提供的各种面向对象的开发工具,建立使用简单、方便、易于管理、功能完备,易使用的实验室平台。本报告介绍该系统的管理模块,实验室各类信息的管理模块。该系统界面友好、程序设计风格简单,使用起来美观大方、方便易用。尤其是系统中组件的应用,使得系统简单化,让管理员通过输入自己想要了解信息来了解情况,极大的减轻工作人员的工作量,并且快速、准确等优点取代人工操作,提高了实验室管理工作效率。关键词 : Delphi 7.0;数据库;实验室管理系统 实验室管理系统实验室管理系统一、 实验目的(1)了解外部设备在程序开发过程中的应用;(2)学习用高级程序语言实现实验室的开放管理。二、 实验内容(1) 掌握一种高级计算机程序语言;(2) 研究该程序语言的编程接口;(3) 研究在计算机语言中如何结合第三方外设进行程序设计;(4) 画出相关程序设计与开发的应用效果图。三、实验仪器微型计算机,其配置为:CPU :intel core 2 Duo T6670,2.2GHZ内存: 1G硬盘: 320G操作系统为: 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 功能结构图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、实验课学生登记模块图3 学生登记图(1)、把系统时间显示在程序面板上用now函数来获取系统时间,并用TTimer组件来将系统时间显示在面板上,程序如下:procedure TForm1.Timer1Timer(Sender: TObject); /利用TTimer来控制定时输出begin label4.Caption:=datetostr(now)+ +week+ +timetostr(now)+ ; /以指定的时间格式把时间输出在label4上end;(2)利用当前系统时间来计算出当前的星期:定义一个函数,使用获取的当前系统时间来计算出当前的星期,程序如下:function week: string;varmytime: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:integer;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组件的OnKeyPress属性来实现当获得一个回车键是就执行程序,并把当前记录的信息和本节课记录的所有信息分别显示出来,部分程序如下: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 周次=+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.text)+,+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.Text:=; 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.Text)+ 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 节次=+trim(combobox4.Text)+); execsql;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号