www.haook.cn QQ:594923603 吴民森 开数据库时,触发该事件,一般在该事件处理中提供数据库的用户名和密码。该模块中的控件属性设置如表4.5所示。
该事件处理的源代码如下:
procedure TPasswordForm.FormActivate(sender:TObject); begin
Edit2.Text:=??; Edit3.Text:=??; if not right[1] then begin
edit1.Text:=username; edit1.Enabled:=false; edit2.setfocus;
end else begin
edit1.text:=??; edit1.Setfocus; end;
database1.Connected:=ture; end;
为Edit1创建OnExit事件处理,当光标离开控件对象时,触发该事件,检测所输入的用户名是否存在。
25
www.haook.cn QQ:594923603 吴民森 为?确定?按钮创建OnClick事件。当确认输入信息时,触发该事件。
最后,在MainForm中建立调用该模块的事件。 4.6系统初始化模块的设计
系统初始化程序是对学生公寓水电系统中所有数据进行维护,清空除Operator数据表以外的所有数据表,对Operator数据表只设置一个默认的系统管理用户,该用户只有管理权,该模块只有具有管理权的用户才能操作,这部分程序代码直接在主程序的系统初始化菜单条的OnClick事件中实现。 4.7寝室管理模块设计 4.7.1寝室基本信息模块
该模块的主要包括寝室成员的基本信息,如:姓名、年级、所在院系、院系的联系电话。管理员可以对以上信息进行新增、修改和删除等操作。在这里可以实现寝室成员信息的输入和删除。当新生进校时,管理员就根据寝室的分配情况,通过该模块输入每间寝室的学生基本信息。在建立数据库时,寝室的编号是唯一的,并且在?学生管理?数据表中建立?寝室编号?字段,这样就可以通过寝室编号把两个数据表联系起来。在输入寝室成员信息时,管理员只要选择寝室号码,便可以添加该寝室学生的信息了。当学生毕业后,管理员同样可以把寝室成员的信息删除。 4.7.2水电费的管理
该模块主要用于水电费的结算和管理。可以通过Delphi程序向
26
www.haook.cn QQ:594923603 吴民森 Excel中导入数据,并用Excel生成每月的报表。在制作报表的表头时,先在Excel中把报表的表头制作好,然后直接往表头以下的空白处导入数据,即可生成报表。利用Delphi中的TChart组件实现对水电费的分析。通过柱状图形能够形象的显示水电费的整体构成。 4.8查询模块的设计
该模块是非管理员用户用来实现水电费查询功能的。它以寝室编号为单位查询学生所在寝室的水电费。如图4.13所示。
图4.13 查询模块界面
该窗体只能实现对寝室水电费的查询,在模块界面的?寝室?中打开?栋?下拉列表,就能显示目前整个学院寝室的栋数,然后在?层?的下拉列表里面选择寝室是该栋的哪一层,再在最后的?门牌?中选择寝室所在层的寝室门牌号码,例如:要查询的寝室是二栋125寝室,那么在?栋?的下拉列表中选择?2?,然后在?层?中选择?1?,最后在?门牌?中选择?25?,就可以唯一地选中要查询的寝室编码。
27
www.haook.cn QQ:594923603 吴民森 按?确定?按钮,实现对寝室水电费的查询。该窗体通过SQL语言对数据库进行查询,从而显示用户要查询的信息。
该界面的设置步骤如下:首先建立New Form,并保存为feeseek.pas,设置其Caption属性值为?水电费查询?。在窗体中加入1个GroupBox控件对象,其属性值为?查询类型?,再在窗体中加入1个TDBGrid控件对象、1个TADOConnection控件对象、1个TDataSource控件对象、1个TADOConnection控件对象,并设置好其Name的属性值。 4.9综合查询模块的设计
该模块是管理员模块的主要功能之一。综合查询功能分为两大块,分别为寝室水电费的管理和寝室成员信息的查询。在查询水电费时,通过寝室的编号进行查询,这一点和4.8节中的查询模块一致。不同的是,在寝室水电费的管理模块中,管理员不仅能查询单个寝室的水电费,而且可以实现对每层和每栋所有寝室水电费的查询。在查询寝室成员信息时,管理员可以通过寝室编号、学号、姓名以及院系进行查询。这是管理员模块特有的功能,非管理员用户不能实现这部分的操作。
实现该模块的步骤为:建立新窗体(New Form),并保存为apartmentseek.pas在窗体展中加入2个TGroupBox控件对象,修改其属性值为?查询类型?和?查询条件?,再往GroupBox1中加入4个RadioButton,命名其Caption值为?学生学号?、?所在寝室?、?学生姓名?和?所在院系?,再向?查询条件?内加入1个TButton、1个
28

