《实验室仪器管理系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《实验室仪器管理系统的设计与实现毕业论文.docx(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘要计算机作为一种高效的管理工具,对现代企业的管理发挥了极其重要的作用。本文结合实验室仪器管理的情况,经过实际的需求分析,采用功能强大的 DELPHI7 作为开发工具而开发出来的实验室仪器管理系统。对于管理子系统的现状进行了概述,并根据其现状提出了相应的解决方法,而且结合用户需求,对管理子系统进行了数据流程分析。在系统分析的基础上划分了系统模块,对数据库、输入输出、代码和界面等进行了详细设计,通过系统软硬件的准备,采用 Windows 2000、Microsoft SQL Server 2000 和 Delphi7.0 的技术手段,完成了实验室管理信息系统管理子系统的实施。本文的目的是通过调研
2、、分析、设计和实施,完成实验室管理信息系统中管理子系统的开发;通过对数据高效、自动的处理,将管理子系统的各个部分有机地结合在一起,实现数据共享,提高管理的效率。关键词系统设计 系统分析子系统Title laboratoryinstrumentmanagementsystemAbstractAs an effective instrument, computer has played a very important role in the management of modern enterprises management. Considering the situation in labo
3、ratory instrument management, through the actual demand analysis, the text developed a laboratory instrument management system by function formidable DELPHI 7. This text outlined the current situation in management subsystem. Then it proposed the corresponding solution according to current situation
4、, and carried on the data flow analysis of data flow analysis management subsystem regarding users demand. The text divided the system module based on the system analysis, and carried detail design on database, input and output, code and interface. Through the preparation for system software and har
5、dware, this text implemented the management subsystem of the laboratory information management system using .Thisarticlegoalistocompletethedevelopmentoflaboratoryinformationmanagement system through the investigation and study, the analysis, the design and the implementation. Through effective data
6、sharing and automatic processing, the text managed each part of subsystem to unify organically in together, enhanced data sharing and increased the efficiency of management.Key wordsDatabase SQL SERVERDelph7 System designSystem analysis目 次1 系统概述41.1 需求分析41.2 主要功能41.3 系统结构41.4 DELPHI 简介41.5 数据库及其应用51
7、.6 数据库系统62 系统结构图编程思路82.1 主要用到的控件82.2 整体思路82.3 系统设计82.4 数据库的设计10数据库逻辑结构设计113 程序详细设计133.1 窗体和模块的创建133.2 仪器借用信息维护窗体的设计163.3 仪器和实验代码维护173.4 借用人通讯录维护窗体的设计183.5 仪器统计相关窗体的创建233.6 仪器是否借出统计窗体的设计243.7 仪器分类统计窗体的设计26结 论28致 谢29参 考 文 献301 系统概述1.1 需求分析实验仪器管理是一个单位不可缺少的部分,尤其对于一个大型的实验室来说, 它的管理直接影响到他的成功与失败。随着社会的不断在发展,
8、我们应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理, 这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。总体来说,在现在这个时代,计算机的应用已经成了一种趋势。主要功能首先了解一下这个实验室仪器管理系统的主要功能。实验室仪器管理系统,主要实现以下几项功能:(1) 基本仪器信息录入,修改和信息查询。(2) 借用信息维护,包括录入,修改和查询,以及打印仪器催交通知书等功能。(3) 借用人通信信息维护,包括录入,修改,查询和通信人信封格式打印等功能。(4) 代码库维护,包括实验代码库,
9、分类代码库的维护。(5) 统计信息,包括仪器状况,借出情况和仪器分类统计 。1.3系统结构本系统的结构图可以表示成如图 1.1 所示。Delphi 简介Delphi是美国Borland Software Corporation 公司的编程工具产品。它基于Pascal语言,具有语法严谨、结构清晰、可读性强和代码执行效率高等优点;最重要的是,它功能强大且灵活易学,利用Delphi,我们在Windows平台下几乎可以做任何事情。作为一下优秀的、体贴的、以人为本的开发工具,Delphi一直坚持复杂问题简单化的思想,而且不隐藏其细节以适应不同层次的程序员。此外,Delphi还对其开发环境以及内核进行了比
10、较大的改善;继续加强了和C+ Builder的融合能力;进一步完善了dbExpress和网络相关组件。仪借器基借出出人信报本信通息表信息讯统输息管录计出管理管理理启动系统实验室仪器管理系统退出系统实验室仪器管理系统结构图1.5数据库及其应用自 20 世纪 70 年代以来,数据库技术得到迅速发展。目前世界上已经有数百万个数据库系统在运行,其应用已经深入到社会生活的各个领域,从企业管理,银行管理,资源管理,经济预测一直到信息检索、档案管理、普查统计等。我国 20 世纪90 年代初在全国范围内装备了 12 个以数据库为基础的大型计算机系统,这些系统分布在邮电、计委、银行、电力、铁路、气象、民航、情报
11、、公安、军事、航天和财税等行业。现在,数据库技术还在不断发展,并且不断的与其它计算机技术相互渗透。数据库技术与网络通信技术相结合,产生了面向对象数据库系统等各种数据库系统。在人类迈向 21 世纪知识经济的时候,信息变为经济发展的战略资源,信息技术已成为社会生产力重要的组成部分。人们充分认识到,数据库是信息化社会中信息资源管理与开发利用的基础。对于一个国家,数据库的建设规模,使用水平已成为衡量该国信息化程度的重要标志。因此,数据库的学习是非常重要的。数据库系统数据库系统本质上是一个用计算机存储记录的系统。数据库本身可被看作为一种电子文件柜:也就是说,它是收集计算机数据文件的仓库或容器。系统用户可
12、以对这些文件执行插入数据、检索数据、更改数据、删除数据等一系列操作。总之,数据库系统是一个计算机存储记录的系统,即它是一个计算机系统,该系统的目标存储信息并支持用户检索和更新所需要的信息。图 1.2 是一个数据库系统的简图。图 1.2 数据库系统简图本系统采用SQL技术建立数据库,使用Delphi技术建立数据源的链接,并且生成实验室管理的数据库应用程序从而实现数据库的管理功能。SQL语言介绍SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。S
13、QL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用 SQL的常见关系数据库管理系统有: Oracle、 Sybase、 Microsoft SQL Server、 Access等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是标准的SQL命令,比如Select、 Insert、 Update、 Delete、 Create和 Drop常常被用于完成绝大多数数据库的操作。MS SQL Server 就是用的Transact- SQL。SQL语言有着非常突出的优点,主要是:(1) 非过程化语言(2) 统
14、一的语言(3) 是所有关系数据库的公共语言非过程化语言:SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作, 可操作记录集,所有SQL 语句接受集合作为输入,返回集合作为输出。 SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。统一的语言:SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应
15、用程序员、决策支持系统人员及许多其它类型的终端用户。SQL为许多任务提供了命令,其中包括:(1) 查询数据(2) 在表中插入、修改和删除记录(3) 建立、修改和删除数据对象(4) 控制对数据和数据对象的存取(5) 保证数据库一致性和完整性以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。2 系统结构图编程思路2.1 主要用到的控件实验室仪器管理系统主要用到的控件如下:(1
16、) 数据集和数据源控件:TTABLE,TQUERY,TDATESOURCE 等。(2) 数据控制控件:TDBGRID,TDBCHART, TDBNAVIGATOR 等。(3) 报表控件:TQUICKREP,TQRLABEL,TQRDBTEXT,TQRCHART 等。整体思路首先是数据库需求分析。根据实际实验室仪器管理所要进行的相关管理工作, 设计了 5 个数据表,并做详细的介绍。实验仪器管理系统,从总体上可以分为二大部分:一部分是用于实验仪器的管理,另外一部分是用于对实验仪器的分类设计, 因而在对系统设计的时候,可以从这两方面着手来进行。最后是系统功能模块的组合编译,以及系统功能的完善。系统设
17、计系统功能分析(1) 基本信息录入:包括仪器基本信息,借用信息和借用人基本信息的录入。主要借用了数据编辑控件,例如,TEDIT, TMASKEDIT。TCOMBOBOX 和TDATATIMEPICK 等控件提供给用户输入数据,然后用TABLE 数据集控件的APPEND 功能录入信息。在录入时,提供较严格的数据检查机制控制差错输入。(2) 信息修改:包括对仪器基本信息,借用信息的数据修改。主要借用了数据控制控件,例如:TDBNAVIGATOR,TDNEDIT 等控件,用 NAVIGATOR 控件所提供的数据;浏览和数据编辑等功能,来实现对 TABLE 数据集连接的数据表中的数据进行修改。(3)
18、信息查询:包括对仪器基本信息,借用信息和借用人基本信息的数据表中的信息进行查询。主要使用查询控件 TQUERY 带参数进行多条件作何查询。(4) 报表输出功能:包括打印催交通知单和所有借用记录;其中催交通知单是按用户输入的名字动态打印。(5) 分类统计仪器数量:包括仪器状况统计,仪器是否借出和仪器分类统计, 主要使用 TCHART 和 TDBCHART 控件来实现。系统功能模块设计系统功能模块设计, 。实验仪器管理仪仪通仪器器讯器基借录相本用信关信信息代息息管码管管理管理理理仪仪仪器器器状借分况用类统统统计计计仪器信息管理仪器分类统计图 实验室仪器管理系统功能模块图实验室仪器管理可作为后勤管理
19、系统中的一部分,就实验仪器进行管理,同时还可以在系统扩展中添加仪器功能和作用介绍。数据流程图系统的数据流程如图 2.2 所示。查询查询结果仪器信息记录仪器信息用户添加,修改,删除借用信息记录借用信息报表输出借用信息借用人通信信通讯录催还通知单图 2.2 实验室仪器管理系统数据流程图数据库的设计3.7.1 数据库的需求分析数据流程图,可以列出下列系统所需要的数据项和数据结构:(1) 仪器基本信息表:仪器编号,仪器名称,型号,价格,状况,所属实验, 启用日期,放置位置,分类码,备注。(2) 仪器借用信息表:仪器编号,登记编号,借用人,经手人,仪器名称, 借用日期,归还日期,用途,备注。(3) 仪器
20、借用者通讯录表:姓名,性别,地址,电子邮件,生日备注。(4) 实验代码库表:所属实验码,实验名称。(5) 仪器分类代码库表:分类码,名称。数据库概念结构设计实验室仪器管理系统主要的 E-R 如图 2.3 所示。仪器信息表仪器借用信息仪器编号仪器名称.1:1仪器编号登记编借用N:1记录仪器借用报表输出N:1通讯信息表实验代码表仪器分类表分类码名称所属实验码实验名称姓名地址图 2.3 实验室仪器管理系统E-R 图数据库逻辑结构设计实验仪器管理系统总共涉及到 5 个数据表,分别用于仪器基本信息,借出仪器信息,借用人通讯录和两个代码库的信息保存;需要建立的数据表如下图所示。2.5.1 仪器基本信息表表
21、 2.4 仪器基本信息表字段值数据类型是否可空仪器编号(关键字)Char(6)Notnull仪器名称Char(20)yes型号Char(16)Yes价格FloatYes所属实验Char(2)yes状况Char(4)Not null启用日期Dateyes放置位置Char(4)Yes分类码Char(2)yes备注Char(100)yes2.5.2 通讯录表表 2.5 通讯录表字段值数据类型是否可空姓名(关键字)CHAR(8)NOT NULL性别CHAR(2)YESCHAR(13)YES地址CHAR(30)NOT NULLCHAR(6)NOT NULL电子邮件CHAR(20)YES生日CHAR(5)
22、YES备注CHAR(100)YES实验代码表表 2.6 实验代码表字段值数据类型是否可空分类码(关键字) CHAR(2) NUT NULL名称CHAR(20) NOT NULL实验分类代码库字段值数据类型是否可空所属实验码(关CHAR(2)NUT NULL键字)实验名称CHAR(20)NOT NULL3 程序详细设计窗体和模块的创建主窗口的创建。主窗口主菜单设计主菜单的设计如图:从图中可以看出,主窗体主要是由主 4 菜单和工具条组成, 所示。主菜单从图中可以看出,主菜单有两个子菜单组成分别对应系统的两大功能模块,子菜单的设计都很简单。各菜单项所完成的功能都是调用相关功能模块的窗体。(1)仪器的
23、管理: 退出:close.(2) 仪器统计:jilu.pas 是仪器信息维护窗口的单元文件名;assort.pas 是仪器分类统计图的单元文件名;jieyong.pas 是仪器借出管理窗口的单元文件名 tongxun.pas 是借用仪器者的通讯资料管理窗体的单元文件名;code.pas 是在仪器管理系统中所包含的各种代码的信息库管理窗体的单元文件名;state.pas 是按仪器状况统计图窗体的单元文件名; jiechu.pas 是按仪器是否借出统计图窗体的文件名。(3) 仪器管理相关功能窗口的创建:仪器管理包括四个功能模块,分别用于管理仪器基本信息,仪器借用信息,借用人通讯信息以及实验相关代码
24、维护,下面分别介绍。实验仪器基本信息窗体在实验仪器基本信息窗体中,主要提供三种功能,分别用于实现仪器基本信息的添加,修改和查询,用三个选项卡在一个窗体中来实现。“输入记录”的设计窗体:“输入记录”的设计窗体如图 3.3 所示。图 仪器基本信息输入记录页从上图可以看出,这里用到了一个 TABLE,QUERY。,用于仪器信息的录入和修改,是第一页和第二页 DBGIRD 的数据集控件,也即第一,第二的 DBGIRD 通过 DATASOURCE和该 TABLE 连接;而 QUERY 则用于查询,是第三页 DAGIRD 的数据集控件。本页分两部分:上半部分用于添加新仪器信息,除了“所属实验”,“分类”,
25、“状况”,用的是列表框 TCOMBOBOX,“启用日期”用的是 TDATETIMEPICKER,“备注”用的是 TMEMO 外,其他的都是 TEDIT,而且我们还对“仪器编号”输入框做了输入长度的限制,即其 MAXLENGTH 设置为对应数据表 BASIC_INFO.DB 中“仪器编号”的字段的长度:另外对于上面提到的前两个TCOMBOBOX,考虑到它们的数据是动态变化的,所以把它们列表中的数据,安排在窗体的 ONSHOW 事件中从数据表 CODE1.DB,CODE2.DB 中读入,而“状况”右边的列表框中的数据,因为数据项是固定的,所以在设计期就输入,在该列表框的 ITEMS 属性中有如下数
26、据:良好,好,可用,待修,报废。该页下半部分的 DBGIRD 主要用于显示数据表中的信息,其 DGROWSELECT属性为 TURE,用户只能浏览而不能通过该网格修改表中信息。该页主要提供给用户对仪器信息的修改,只要使用 TDBEDIT,TDBMEMO 和TDBNAVIGATOR 控件,连接的数据集是 TABLE1。下半部分的 TDBGRID 也只是用来显示信息,其 DBROWSELECT 为 TURE,而且只读,该页的设计很简单,几乎不涉及代码的编写。查询:使用 QUERY 带参数的方法进行查询,SQL 语句根据用户选择的查询条件动态产生。在实现时,定义了一个本窗体的全局变量SELSTR 来
27、保存用户对条件的组合要求,即使用 “OR” 还是 “AND” 的方法组合查询。 SELSTR 在本窗体的ONCREATE 部分初始化为“OR”,而在本页的两个 TRADIOBUTTON 的 ONCLICK 事件中改变: “逻辑或”单选按钮的 ONCLICK 事件:selstr:=or “逻辑与”单选按钮的 ONCLICK 事件:selstr:=and 其中and和or的前后都留有一个空格。图中“启用日期”右边的控件是 TDATETIMEPICKER;“状况”右边的控件是TCOMBOBOX,其 ITEMS 项的设计和第一页的设计是一样的;其他的为 TEDIT。仪器借用信息维护窗体的设计该窗体的设
28、计思路和仪器基本信息窗体的设计思路基本上是一样的,窗体主要也涉及到三页的选项卡,分别提供录入,修改,查询的功能,介绍如下。“输入记录”页的设计:设计界面如图 3.4 所示。从上图可以看到,这里用到了两个 TABLE 和一个 QUERY,连接的数据库都是上面建立的“APPARATUSMGR”。第一个 TABLE 连接的数据表是 borrow_info.db, 用来录入和修改记录,第二个 TABLE 连接的数据表是 basic_info.db,用来查询用户输入的仪器编号是否已经存在于仪器信息库中(不存在于仪器信息库中的仪器是非法的,即不能借出);而 QUERY 用来查询记录。该页的“仪器名称”右边
29、的输入框是只读的,其信息根据用户输入的仪器编号, 从仪器信息表中读出。“修改记录”页的设计,如图所示。仪器借用输入记录页仪器借用修改记录设计页使用的控件为 TDBEDIT,TDBMEMO 和 TDBNAVIGATOR,连接的数据集控件都是 TABLE。3.3 仪器和实验代码维护仪器和实验代码运行界面。仪器和实验代码维护设计窗体图中的两个 TABLE 连接的数据表分别是:code1.db 和 code2.db,即所属实验代码和仪器分类代码。3.4 借用人通讯录维护窗体的设计该窗体的设计也涉及到三个选项卡,所对应的功能子模块分别是借用人信息录入,查询和两个报表的输出:按名字打印信封格式的催还单以及
30、打印全部借用信息。窗体中有一个 TABLE 和一个 QUERY,TABLE 连接的数据表 borrowers.db,用来录入记录,而 QUERY 用来查询记录,下面分别介绍三个页的设计情况。“录入记录”页的设计:本页的设计情况如图 3.7 所示。图 录入记录图中的上半部分,“性别”右边列表框的 ITEMS 属性值:“男”,“女”是在设计时输入的;“ ”,“生日”,“ ”的输入使用 TMASKEDIT 控件;“备注”输入使用的是 TMEMO 控件;其他的是 TEDIT 控件。该页的 TDBGRID 是只读的,主要提供给拥护浏览记录。“确定”按钮实现代码如下:procedure TForm_Ton
31、gxun.SpeedButton1Click(Sender: TObject); beginwith table_Tongxun do beginAppend;FieldByName( 姓 名 ).AsString:=Edit_Name.Text; FieldByName( 性 别 ).AsString:=combobox1.Text; FieldByName().AsString:=MaskEdit_Num.Text; FieldByName( 备 注 ).AsString:=Edit_Memo.Text; FieldByName(生日).AsString:=MaskEdit_Birth.T
32、ext; FieldByName().AsString:=Edit_post.Text; FieldByName(地址).AsString:=Edit_Address.Text; FieldByName(EMAIL).AsString:=EDIT_Mail.Text;Post; end;end;“取消”按钮实现代码如下:begin edit_Name.Clear ;MaskEdit_Num.Clear ; Edit_Memo.Clear ; MaskEdit_Birth.Clear ; edit_post.Clear ; Edit_Address.Clear ; Edit_Mail.Text:
33、=;Edit_Memo.Lines.Clear ; end;“查询记录”页的设计:该页的设计如图 3.8 所示。图 借用人通讯录查询记录设计页“查询”按钮实现代码如下:beginif radiobutton1.Checkedthen logicstr:= and ; if radiobutton2.Checked then logicstr:= or ;sqlstr:=select*fromborrowerswhere姓 名 =:sname+logicstr+ 性 别=:ssex+logicstr;sqlstr:=sqlstr+=:sphone+logicstr+地址=:saddress; w
34、ith query_Com dobegin Close; SQL.Clear;SQL.Add(sqlstr);ParamByName(sname).AsString :=edit_sql_name.Text ; ParamByName(ssex).AsString :=combobox2.Text ; ParamByName(sphone).AsString :=maskedit_sql_num.Text ; ParamByName(saddress).AsString :=edit_Sql_Add.text; Open;if recordcount=0 thenmessagedlg( 没 有
35、 找 到 满 足 要 求 的 记 录 , 请 检 查 查 询 条 件 !,mtinformation,mbOk,0); end;end;“查询所有记录”按钮实现代码如下:beginwith query_Com do beginClose; SQL.Clear;sQL.Add(select * from labcom); Open;end; end;。图 3.9 借用人通讯录打印报表设计页“查询并打印结果(信封格式)”是按用户输入的借用人姓名来打印信封格式的催还通知单;而“打印全部借用信息”则打印所有仪器借用信息和借用人相关信息。因为这里涉及到两个报表,所以在本单元的 IMPLEMENTATIO
36、N部分要包含着两个报表所在的单元文件。代码如下:ImplementationUses allcuihuan,print;$R*.dfm“查询并打印结果(信封格式)”按钮的实现代码如下:var q:tquery; beginif trim(edit_jy_name.Text)= then beginmessagedlg(名字不能为空!,mtError,mbok,0);exit; end;q:=tquery.Create(nil);q.DatabaseName :=form_print.Query1.DatabaseName ; q.SQL.Add(select * from borrowers
37、where 姓名=:bname); q.ParamByName(bname).AsString :=edit_JY_Name.Text; q.Open ;if q.RecordCount=0 then beginmessagedlg(库中无此人!,mtinformation,mbok,0);q.Close ; q.Free ; exit;end elsebegin q.Close ; q.Free ;form_print.Query1.ParamByName(qname).AsString :=edit_JY_Name.Text; form_print.Query1.Open;Form_Pri
38、nt.qrp.preview; end;3.5 仪器统计相关窗体的创建仪器状况统计窗体,。代码为:仪器状况表procedure TForm_Tongji_State.FormShow(Sender: TObject); var t:Ttable;i:integer;data_sum:array1.6 of integer; begint:=Ttable.Create(nil); t.DatabaseName :=apparatusmgr; t.TableName :=basic_info.db; t.Open;series1.Clear; for i:=1 to 6 dodata_sumi:=
39、0;while not t.Eof do with t dobeginif FieldByName(状况).AsString= then data_sum1:=data_sum1+1;if FieldByName(状况).AsString=好 then data_sum2:=data_sum2+1;if FieldByName(状况).AsString=良好 then data_sum3:=data_sum3+1;if FieldByName(状况).AsString=勘用 then data_sum4:=data_sum4+1;if FieldByName(状况).AsString=待修 t
40、hen data_sum5:=data_sum5+1;if FieldByName(状况).AsString=报废 then data_sum6:=data_sum6+1;Next; end;Series1.Add(data_sum2,好,clTeeColor);Series1.Add(data_sum3,良好,clTeeColor); Series1.Add(data_sum4,勘用,clTeeColor); Series1.Add(data_sum5,待修,clTeeColor); Series1.Add(data_sum6,报废,clTeeColor); Series1.Add(data
41、_sum1,其他,clTeeColor); t.Close ;t.Free ; end;3.6 仪器是否借出统计窗体的设计仪器是否借出统计窗体的设计运行界面,。借出统计窗体代码如下:begin series1.Clear;t:=ttable.Create(nil); t.DatabaseName :=apparatusmgr; t.TableName :=borrow_info.db; t.Open;i:=t.RecordCount ; t.Close ;t.TableName :=basic_info.db; t.Open ;j:=t.RecordCount-i; t.Close ;t.Fr
42、ee ;Series1.Add(i,已借出,clTeeColor); Series1.Add(j,未借出,clTeeColor); end;3.7 仪器分类统计窗体的设计仪器分类统计窗体的设计,。图 仪器分类统计窗体本窗体的图形显示控件是 TCHART,统计数据在窗体的 ONSHOW 时间中获得,代码如下:procedure TForm_Assort.FormShow(Sender: TObject); var q:Tquery;sqlstr:string; begin q:=Tquery.Create(nil);q.DatabaseName :=apparatusmgr; series1.Clear;sqlstr:=selecta. 名称 as名称,count(b. 仪器编号)as数 量 from code2a,basic_info b ;sqlstr:=sqlstr+where b.分类码=a.分类码 group by a.名称; q.SQL.Add(sqlstr);q.open;while not q.Eof do beginseries1.add(q.fieldbyname(数 量 ).AsInteger,q.fieldbyname(名 称).AsString,clblue);q.Next ; end;q.Close ; q.Free ; end;