继电保护实验五菜单表单报表设计操作指南1217Word文件下载.docx
《继电保护实验五菜单表单报表设计操作指南1217Word文件下载.docx》由会员分享,可在线阅读,更多相关《继电保护实验五菜单表单报表设计操作指南1217Word文件下载.docx(31页珍藏版)》请在冰豆网上搜索。
MODIFYWINDOWSCREENTITLE‘设备管理系统’
USESB
7)定义“退出”菜单项功能:
在菜单栏页中选定“退出”菜单项的“创建”或“编辑”按钮,在过程编辑窗口输入如下代码:
USE
MODIFYWINDOWSCREEN
SETSYSMENUTODEFAULT&
恢复系统菜单的默认配置
ACTIVATEWINDOWCOMMAND
8)保存菜单定义:
“文件”菜单→“保存”→生成SB.MNX和SB.MNT文件。
注意:
菜单文件保存在自己的默认工作目录。
9)生成菜单程序:
“菜单”菜单→“生成”→选定“生成菜单”对话框“生成”按钮→生成菜单程序SB.MPR。
10)运行菜单程序:
执行命令DOSB.MPR。
任务1-2
建立一个具有撤消和剪贴板功能的快捷菜单,供浏览SB表时使用。
1)打开“快捷菜单设计器”窗口:
“文件”菜单→“新建”命令→在“新建”对话框选定“菜单选项”按钮→“新建文件”按钮→“快捷菜单”按钮→“快捷菜单设计器”窗口。
2)插入系统菜单项:
在“快捷菜单设计器窗口”中选定“插入栏”按钮→在“插入系统菜单栏”对话框中选定“粘贴”选项,并选定“插入”按钮→类似地插入“复制”“剪切”“撤消”选项→“关闭”按钮→返回“快捷菜单设计器”窗口。
3)生成菜单程序:
“菜单”菜单→“生成”命令→保存菜单文件E7-3.MNX和菜单备注文件E7-3.MNT→在“生成菜单”对话框中选定“生成”按钮→生成菜单程序E7-3.MPR。
4)编写如下调用程序E7-3.PRG:
CLEARALL
PUSHKEYCLEAR
ONKEYLABELRIGHTMOUSEDOE7-3.MPR
BROWSE
USE
5)运行调用程序及快捷菜单程序:
在命令窗口键入DOE7-3,屏幕即会出现一个设备浏览窗口。
选定任何数据后,右击会弹出快捷菜单,进行相应的操作。
任务2表单设计
任务2-1
创建一个用于按照部门维护设备的涉及BMDM和SB两张表的表单。
1)打开“表单向导”对话框:
“工具”菜单→“向导”子菜单→“表单”命令→在“向导选取”对话框中选定“一对多表单向导”选项→“一对多表单向导”对话框。
2)从父表中选定字段:
单击“一对多表单向导”对话框中“数据库和表”区域的对话按钮→在“打开”对话框中选定BMDM表→将“可用字段”列表框的所有字段移到“选定字段”列表框中,并将名称字段移到代码字段之上→“下一步”按钮。
3)从子表中选定字段:
在“数据库和表”组合框下的列表框中选定SB表→将“可用字段”列表框中除部门字段外的所有字段移到“选定字段”列表框中→“下一步”按钮。
4)关联表:
在关联设置对话框中选择两表中的关联字段(此处采取默认设置)→“下一步”按钮。
5)选择表单样式:
在“选择表单样式”窗口点击“凹陷式”样式和“文本按钮”类型→“下一步”按钮。
6)排序记录:
省略该步骤,直接选定“下一步”按钮。
7)设置“完成”对话框:
“完成”对话框“请键入标题”文本框中输入“部门设备表”→“完成”按钮→在“另存为”对话框中输入表单文件名BMSB.SCX→“保存”按钮→生成BMSB.SCX和BMSB.SCT备注文件。
8)执行表单:
“程序”菜单→“运行”命令→“表单”选项→列表选定BMSB.SCX→“运行”按钮。
任务2-2
在列表框中填充SB表的编号和名称两个字段,要求选定列表框中的任何一项,就能在文本框中显示编号字段。
1)创建表单,并添加1个列表框控件List1和1个文本框控件Text1。
2)在数据环境对话框中添加SB表。
3)打开列表框生成器(右键单击列表框控件,从弹出菜单中选择“生成器”)→在列表项选项卡的“用此填充列表”组合框中选定“表或视图中的字段”选项→选出SB表,将编号和名称字段添入选定字段列表→“确定”按钮。
4)List1的InteractiveChange事件(鼠标左键双击List1控件,打开该控件的代码编辑窗口)。
代码编写如下:
Thisform.Text1.Value=This.Value&
事件执行时属性赋值
5)运行表单。
任务2-3
第一,先根据课本P175的例6-3利用表单设计器设计表单SBQ.SCX:
(1)打开表单设计器:
命令窗口输入MODIFYFORMSBQ→出现标题为SBQ.SCX的“表单设计器”窗口。
(2)产生快速表单:
“表单”菜单→“快速表单”命令→在“表单生成器”对话框的“字段选取”选项卡中选出SB.DBF及需要的字段→在“样式”选项卡中选取“浮雕式”样式→“确定”按钮→生成快速定义表单窗口。
(3)执行表单:
右击表单窗口空白处调出快捷菜单→选定“执行表单”命令→是否保存?
→是→运行结果。
第二,以SBQ.SCX为基础,设计能修改SB表数据的表单。
要求如下(参见课本P216的例7-10):
A)若输入编号代码为全零,或以9开头给予信息提示(动作部分);
B)在名称1文本框之下添加一个组合框,以便既可在文本框中修改名称,也可在组合框中选用名称;
C)将部门1文本框设置为只读,然后在其右侧添加一个列表框,并使在列表框中选取的部门显示在该文本框中;
D)删除价格1文本框,然后添加一个微调控件来替代它,使价格直接输入或微调;
E)使主要设备1复选框的标题随其值而变化,值为.T.时显示为主要设备,否则显示非主要设备;
F)在窗口右上角添加两个标签,分别用来显示“第”和“页”字样,在这两个标签中间添加一个文本框用来显示记录号;
G)添加命令按钮组,其中包含3个命令按钮,分别用于使记录指针下移一个记录、上移一个记录和关闭表单;
H)在表单中添加两条下缘发亮的线条。
操作(控件调整→属性设置→动作编码):
1)复制表单并打开表单设计器:
MODIFYFORMSBQ→“文件”菜单的“另存为”命令→键入文件名“sbxg”→保存按钮。
第一部分控件调整及属性设置
2)按要求调整以下控件:
①按图7-11(课本P216)移动控件位置:
添加combo1组合框控件和List1列表框控件。
②添加线条:
一条灰线下面一条白线,紧靠在一起。
注意调整线条line的Bordercolor属性。
③在表单底部居中创建包含下页、上页和退出命令按钮的命令按钮组:
点击表单控件工具栏中的“命令按钮组”控件,将其放置在表单下部。
右键单击该控件,从弹出菜单中选择“生成器”命令,进入“命令组生成器”界面。
按下图所示进行调整。
④窗口右上角添加Label1和Label2两个标签和Text1文本框。
属性按下表设置:
对象
属性
属性值
说明
Label1
Caption
第
指定标签标题
Label2
页
Text1
ControlSource
yh
与公共变量yh绑定以显示页号
BorderStyle
0-无
设置为无边框
BackStyle
0-透明
设置为与表单底色相同
⑤删除价格1文本框,添加一个微调控件(Spinner1)替代它,并将其ControlSource属性与SB.价格绑定,使价格直接输入或微调;
⑥调整控件后的表单设计界面如下图所示(红色圈标志有改动之处):
3)将部门1文本框设置为只读(在文本框生成器或属性窗口均可设置);
4)数据环境设置:
在数据环境中添加BMDM表,并取消SB表与它的关联(避免记录指针随列表框的选定选项移动);
5)部分控件的属性设置:
所有标签字体设置为宋体,10号字,其它属性见下表:
Form1
设备表维护
设置表单标题栏标题
Combo1
Style
2-下拉列表框
指定组合框类型
RowSourceType
5-数组
指定值源类型为数组
RowSource
mc
指定数组名,数组在表单Init事件建立
List1
2-别名
定值源类型为表,由数据环境提供
Bmdm
指定表名
ColumnCount
2
确定列数
BoundColumn
1
默认值,第1列有效
Check1
SB.主要设备
复选框与SB.主要设备绑定
第二部分动作编码
①Form1的Init事件代码:
Publicarraymc(10,1)
CopyToArrayMcFieldsSb.名称
go1
②Form1的Refresh事件代码:
yh=recno()&
表单刷新时用变量yh存储当前记录号
③编号1文本框的Valid事件代码:
ifThis.Value<
="
000-0"
orThis.Value>
9"
Messagebox("
超出范围!
"
)
Endif
④Combo1的Click事件代码(使用户可在组合框中选用所需名称):
Thisform.名称1.Value=This.Value
jlh=Recno()
CopyToArrayMcFieldsSB.名称
Thisform.Combo1.Numberofelements=Reccount()
Gojlh
⑤List1的Click事件代码:
Thisform.部门1.Value=This.Value
⑥复选框主要设备1的InteractiveChange事件代码:
IfThis.Value
This.Caption="
主要设备"
else
非主要设备"
endif
⑦复选框主要设备1的Refresh事件代码:
IfEvaluate(This.Controlsource)
⑧命令按钮组Commandgroup1的Click事件代码:
docase
casethis.value=1
ifRecno()<
Reccount()
skip
endif
Thisform.refresh
casethis.value=2
IfRecno()>
skip-1
endif
Thisform.Refresh
CaseThis.value=3
Thisform.release
endcase
最后,运行表单,结果如下图所示:
任务3报表设计
任务3-1
利用快速制表功能,为SB.DBF设计一个包括编号、名称和价格的报表,并具有正确的表格线。
1)打开报表设计器窗口:
命令窗口键入MODIFYREPORTSBJGB,打开报表设计器窗口。
2)设置数据源:
在报表设计器窗口右键调出快捷菜单,选定“数据环境”命令,在数据环境设计器窗口添加SB表。
3)启动快速制表:
选定报表设计器窗口→选定“快速报表”命令→显示快速报表对话框。
报表设计器窗口的细节带区为空时才能点击快速报表命令。
4)设置快速报表属性:
选定快速报表对话框的“字段”按钮→在字段选择器中依次选出编号、名称和价格3个字段→选定“确定”按钮返回快速报表对话框→选定“确定”按钮返回报表设计器窗口。
5)调整各报表带区的高度:
移动报表控件→建立表名→画出表格线。
首先把页标头带区高度加大,然后添加标签控件“设备价格表”(调整好字体大小和粗体格式)。
然后添加线条控件,2条水平线条和4条垂直线条(设置好合适的线条宽度)。
可以随时预览各控件的布局,以便调整到合适位置。
然后调节细节带区的控件位置,可以采用“复制→粘贴”的方式,把页标头带区的水平线条和垂直线条复制并移动到细节带区合适位置。
1条水平线条和4条垂直线条。
并把页注脚带区的日期和页码控件删掉。
得到下图的格式和预览结果。
6)保存报表定义:
“文件”菜单→“保存”选项→产生报表文件SBJGB.FRX及其备注文件SBJGB.FRT。
7)报表预览:
“显示”菜单或快捷菜单→预览报表。
程序中如果需要调用设计好的报表,只需要在相应控件的相应事件代码中添加代码:
REPORTFROM**PREVIEW&
**表示报表名
任务3-2
打印如下图所示的主要设备的设备役龄表,要求包括记录序号和设备役龄,部门在打印时使用汉字部门名。
提示:
本题设计到多表数据环境,而且需要自定义报表设计中的报表变量和域控件。
1)打开“报表设计器”窗口:
MODIFYREPORTSBYL。
2)设置数据环境:
在数据环境中添加SB表和BMDM表,并使SB.部门与BMDM.代码关联。
3)定义快速报表:
“报表”菜单→“快速报表”命令→在“快速报表”对话框中选定“字段”按钮→在“字段选择器”对话框的SB表中挑选编号、名称、部门3个字段→“确定”按钮返回“快速报表”对话框→“确定”按钮返回“报表设计器”窗口→出现编号、名称、部门标签(页标头带区)和字段控件(细节带区)。
4)设置在SB表部门字段控件的位置上输出汉字部门名:
双击细节带区“部门”字段域控件→将“报表表达式”对话框的“表达式”文本框中的SB.部门改为BMDM.名称→“确定”按钮返回“报表设计器”窗口。
5)创建报表变量XH(用作序号):
“报表”菜单→“变量”命令→在“报表变量”对话框的“变量”列表中输入变量名XH→在“要存储值”文本框输入表达式XH+1→“确定”按钮关闭“报表变量”对话框。
6)创建XH变量控件:
报表控件工具栏的“域控件”按钮→单击细节带区左部→在“报表表达式”对话框中选定“表达式”文本框右侧的对话按钮→从“表达式生成器”对话框的变量列表中双击报表变量XH→“确定”按钮返回“报表表达式”对话框→“确定”按钮返回“报表设计器”窗口→产生XH变量控件。
7)建立计算役龄的表达式控件:
报表控件工具栏的“域控件”按钮→单击细节带区右部→在“报表表达式”对话框中选定“表达式”文本框内输入(DATE()-SB.启用日期/365)→在“格式”文本框内输入掩码99→“确定”按钮返回“报表设计器”窗口。
8)处理日期和页号:
将页注脚带区的DATE()控件、_PAGENO控件、“页”标签控件移到页标头带区,然后创建一个“第”标签控件。
画出表格线和创建表名、序号、役龄等标签控件。
9)预览报表:
命令窗口键入REPORTFORMSBYL.FRXPREVIEW(PRINTER)FOR主要设备。
10)打印报表:
REPORTFORMd:
\sbyl.frxNOEJECTNOCONSOLETOPRINTER