窗体及组件的属性设置如表12-4所示。
2)程序代码
(1)在Unit1单元文件的implementation段中加入usesUnit4;(2)根据功能要求,鼠标单击程序主界面【借出图书查询】菜单命令,打开图12-39所示的【借出图书查询】窗口,因此Unit1单元文件的TMainForm.NjccxClick(Sender:TObject)事件处理代码如下:
(3)查询功能的实现
从【查询关键字选择】组合框中选择查询的关键字,在【查询关键字设置】编辑框中输入相应的关键字参数,然后单击【查询】按钮,则数据网格中列出按选定关键字查询的结果。
【查询】按钮的事件处理代码如下:
(4)返回功能的实现
用鼠标单击【返回】按钮,关闭【借出图书查询】窗口,显示程序主窗口。【返回】按钮的事件处理代码如下:
4.出借图书
1)程序界面
【出借图书】窗体如图12-40所示。
图中,数据网格列出当前在库的图书,读者只能从中借阅自己需要的图书。因在库图书数量大,可先通过筛选缩小借阅图书查找的范围,在【在库图书筛选】成组框的编辑框中输入相应的筛选关键字,然后单击【筛选】按钮,数据网格中列出经筛选的在库图书。
找到读者需要的图书,用单击网格单元,所选图书的编号显示在【出借图书操作】成组框中的【出借图书编号】编辑框中;在【读者借书证号】编辑框中,输入借书者的借书证号;在【借书日期】日期时间组件中选择借书的日期,然后单击【出借】按钮,读者选中的图书被借走,在库图书减少。
窗体及组件的属性设置如表12-5所示。
2)程序代码
(1)在Unit1单元文件的implementation段中加入usesUnit5;(2)根据功能要求,单击程序主界面【出借图书】菜单命令,打开图12-40所示的【出借图书】窗口,因此Unit1单元文件的TMainForm.NcjtsClick(Sender:TObject)事件处理代码如下:
(3)筛选功能的实现
在【在库图书筛选】成组框的编辑框中输入相应的筛选关键字,然后单击【筛选】按钮,数据网格中列出经筛选的在库图书。【筛选】按钮的事件处理代码如下:
(4)从“数据网格中选择借阅图书”功能的实现
当从数据网格中找到所需图书时,单击相应的数据网格单元,所选图书的编号显示在【出借图书操作】成组框中的【出借图书编号】编辑框中,“单击数据网格单元”的事件处理代码为:
(5)出借功能的实现
在【读者借书证号】编辑框中,输入借书者的借书证号;在【借书日期】日期时间组件中选择借书的日期,然后单击【出借】按钮,读者选中的图书被借走,在库图书减少。单击【出借】按钮的事件处理代码为:
(6)返回功能的实现
用鼠标单击【返回】按钮,关闭【出借图书】窗口,显示程序主窗口。单击【返回】按钮的事件处理代码如下:
5.归还图书
1)程序界面
【归还图书】窗体如图12-41所示。
图12-41中,数据网格列出当前借出的图书,从中选择归还的图书。因借出图书数量大,可先通过筛选缩小借出图书查找的范围,在【借出图书筛选】成组框的编辑框中输入相应的筛选关键字,然后单击【筛选】按钮,数据网格中列出经筛选的借出图书。
找到要归还的图书,用鼠标单击网格单元,所选图书的编号和读者的借书证号分别显示在【归还图书操作】成组框中的【归还图书编号】和【读者借书证号】编辑框中,然后单击【归还】按钮,选中的图书归还,该图书变为在库。
窗体及组件的属性设置如表12-6所示。
2)程序代码
(1)在Unit1单元文件的implementation段中加入usesUnit6;(2)根据功能要求,鼠标单击程序主界面【归还图书】菜单命令,打开图12-41所示的【归还图书】窗口,因此Unit1单元文件的TMainForm.NghtsClick(Sender:TObject)事件处理代码如下:
(3)筛选功能的实现
在【借出图书筛选】成组框的编辑框中输入相应的筛选关键字,然后单击【筛选】按钮,数据网格中列出经筛选的在库图书。【筛选】按钮的事件处理代码如下:
(4)从“数据网格中选择归还图书”功能的实现
当从数据网格中找到归还图书时,单击相应的数据网格单元,所选图书的编号和读者的借书证号分别显示在【归还图书操作】成组框中的【归还图书编号】和【读者借书证号】编辑框中,“单击数据网格单元”的事件处理代码为:
(6)返回功能的实现
用鼠标单击【返回】按钮,关闭【归还图书】窗口,显示程序主窗口。单击【返回】按钮的事件处理代码如下:
6.图书登记
1)程序界面
【图书登记】功能模块窗体如图12-42所示。
在窗体的各个输入框中,直接输入或选择登记图书的有关信息,然后单击【登记】按钮,该图书登记入册。图书登记操作完毕,单击【返回】按钮返回。
该窗体的单元文件名为Unit7.pas。
窗体及组件的属性设置如表12-7所示。
2)程序代码
(1)在Unit1单元文件的implementation段中加入usesUnit7;(2)根据功能要求,鼠标单击程序主界面【图书登记】菜单命令,打开图12-42所示的【图书登记】窗口,因此Unit1单元文件的TMainForm.NtsdjClick(Sender:TObject)事件处理代码如下:
(3)登记功能的实现
在窗体的各个输入框中,直接输入或选择登记图书的有关信息,然后单击【登记】按钮,该图书登记入册。【登记】按钮的事件处理代码如下:
(4)返回功能的实现
图书登记操作完毕,用鼠标单击【返回】按钮,关闭【图书登记】窗口,显示程序主窗口。单击【返回】按钮的事件处理代码如下:
7.读者登记
1)程序界面
【读者登记】功能模块的窗体如图12-43所示。
在窗体的各个输入框中,直接输入或选择登记读者的有关信息,然后单击【登记】按钮,该读者登记入册。读者登记操作完毕,单击【返回】按钮返回。
该窗体的单元文件名为Unit8.pas。
窗体及组件的属性设置如表12-8所示。
2)程序代码
(1)在Unit1单元文件的implementation段中加入usesUnit8;(2)根据功能要求,鼠标单击程序主界面【读者登记】菜单命令,打开图12-43所示的【读者登记】窗口,因此Unit1单元文件的TMainForm.NdzdjClick(Sender:TObject)事件处理代码如下:
(3)登记功能的实现
在窗体的各个输入框中,直接输入或选择登记读者的有关信息,然后单击【登记】按钮,该读者登记入册。【登记】按钮的事件处理代码如下:
(4)返回功能的实现
读者登记操作完毕,用鼠标单击【返回】按钮,关闭【读者登记】窗口,显示程序主窗口。单击【返回】按钮的事件处理代码如下:
8.退出系统
单击【退出系统】菜单命令,图书管理系统退出,程序主界面关闭。【退出系统】菜单命令处理代码为:
12.5QReport组件组和报表的制作
报表是进行数据统计、分析的常用工具。在数据库应用程序中,经常需要制作报表。Delphi提供了一组制作报表的组件,使程序员可以很方便地制作报表。本节介绍这组组件的使用和报表的制作。
12.5.1QReport组件组
Delphi提供的一组制作报表的组件,位于Delphi集成开发环境组件模板的QReport选项卡中。
1.QuickRep组件
QuickRep组件是制作报表的基本组件,构成整个报表的框架,放置到窗体上的QuickRep组件如图12-44所示。
1)QuickRep组件的属性
QuickRep组件的属性主要有以下几个。
(1)Bands属性