第8章表单高级设计81多表单应用程序.ppt
《第8章表单高级设计81多表单应用程序.ppt》由会员分享,可在线阅读,更多相关《第8章表单高级设计81多表单应用程序.ppt(47页珍藏版)》请在三一文库上搜索。
1、第8章 表单高级设计 8.1 多表单应用程序,应用程序界面 单文档界面与多文档界面 顶层表单与子表单 非浮动表单和浮动表单 调用子表单:DO FORM命令,例8-1 为例7-10设计的表单增加一个查页命令按钮,要求单击它能打开一个供用户输入记录号的窗口, 如图8.1所示。当指定记录号并单击确定按钮后,新打开的窗口随即关闭,原表单也立即更新记录显示。 (1) 从例7-10的表单文件SBXG.SCX复制出SBBD1.SCX,并将后者打开。 (2) 在SBBD1.SCX的表单窗口Form1中增加命令按钮Command1。 (3) 创建表单文件SBBD2.SCX,并在其表单窗口Form1中创建标签、文
2、本框各1个。 (4) 属性设置:见表8.1。,(5) 在Form1(SBBD1.SCX)的Init事件代码中增加公共变量jlh: PUBLIC yh,mc(10,1),jlh & 公共变量jlh用来表示记录号 COPY TO ARRAY mc FIELDS sb.名称 & 保持原样 GO 1 & 保持原样 (6) Form1(SBBD1.SCX)中Command1的Click事件代码编写如下: DO FORM sbbd2 & 调用子表单 GO jlh & 记录指针指向在子表单中指定的记录 THISFORM.Refresh & 父表单更新 (7) Form1(SBBD2.SCX)中Command
3、1的Click事件代码编写如下: jlh=THISFORM.Text1.Value & 文本框值赋给公共变量(可事先在文本框中键入一个数) THISFORM.Release & 释放Form1(SBBD2.SCX) (8) Form1(SBBD1.SCX)的Unload事件代码编写如下: RELEASE jlh & 清除公共变量jlh,程序运行结束公共变量不会自动清除,表8.1 “查页”属性设置,表单集 使用表单集的优点 表单集的创建与删除 表单集的编辑 例8-3 用表单集来实现查看设备大修情况。 (1) 从例7-13产生的表单文件BG.SCX复制出BDJ.SCX,并使后者打开,表单设计器窗口
4、中将会显示“SB表编辑”表单窗口。 (2) 为表单文件BDJ.SCX创建表单集:选定表单菜单的创建表单集命令。 (3) 向表单集添加表单:选定表单菜单的添加新表单命令,表单设计器窗口中就会出现Form2表单窗口。 (4) 在数据环境中添加DX表, 并将SB表与DX表按编号关联起来。 (5) 将数据环境中DX窗口的标题栏拖放到Form2表单窗口,该表单中就会产生一个关于大修的表格。 (6) 将Form2表单的Caption属性值改为“大修情况”。,8.2 用户定义属性与方法程序,用户定义属性 变量属性 创建:打开表单设计器后,选定表单菜单的新建属性 作用域:对表单集中的所有表单都有效 引用格式:
5、THISFORMSET.变量属性名 数组属性 多表单应用程序的有效参数 用PUBLIC设置的公共变量 用户在表单集中自定义的属性 父表单与子表单间的参数传递:DO FORM WITH TO命令 用户定义方法程序 创建:表单菜单中选定“新建方法程序”命令 过程代码的编辑 调用基本格式为:THISFORMSET.方法程序名,8.3 类,类的概念 类(class)与对象(object) 基类(base class) 子类(subclass) 用户定义类(user-defined class) 容器类(container classes)和控件类(control classes) 类库(class l
6、ibrary) 类的特征 封装特征 子类特征 继承性特征 用户定义类 类的创建 将类添加到工具栏 类的编辑,例8-7 创建一个带有确认功能的“退出按钮”类。 (1) 从CommandButton基类新建子类:选定文件菜单的新建命令在新建对话框中选定“类”选项按钮,然后选定新建文件按钮在如图8.7所示新建类对话框的类名文本框中键入类名:退出按钮;在“派生于”下拉列表框中选定基类CommandButton;在“存储于”文本框中键入类库的名字:用户控件选定确定按钮关闭对话框。 (2) 在类设计器中为“退出按钮”类设置属性与事件: 新建类对话框关闭后,随即会弹出一个类设计器窗口(参阅图8.8)。类设计
7、器窗口内显示一个“退出按钮” 窗口,这就是“退出按钮”类;“退出按钮” 窗口中有一个“Command1”按钮(在图8.8中Command1已改作退出两个字),这是类的实例的模样。 在属性窗口中将“退出按钮” 类的Caption 属性由Command1改为“退出”,这将使按钮上显示“退出”两个字(见图8.8)。 双击“退出按钮”窗口内部来打开代码窗口,然后为Click事件键入如下代码: IF MESSAGEBOX(“一定要退出吗?“,4+48,“请确认“)=6 & 信息框包含“是”和“否”按钮,图标显示惊叹号,按“是”按钮返回数值6 THISFORM.Release CLEAR EVENTS &
8、 停止处理事件(参阅10.1节第三点) ENDIF (3) 关闭类设计器窗口。,例8-8 试将例8-7创建的“退出按钮”类添加到表单控件工具栏中。 打开任一表单(参阅图8.10)选定表单控件工具栏的查看类按钮在弹出菜单中选定添加命令在如图8.9所示的打开对话框列表中选定可视类库文件:用户控件.VCX选定确定按钮关闭对话框,表单控件工具栏中就会包含一个“退出按钮”。,第9章 报表设计 9.1 打印基础,TO PRINTER 打印命令 LIST|DISPLAY STRUCTURE TO PRINTER & 打印当前表的结构 LIST|DISPLAY TO PRINTER & 打印当前表的内容 LI
9、ST|DISPLAY MEMORY TO PRINTER & 打印当前的变量和数组内容 LIST|DISPLAY STATUS TO PRINTER & 打印VFP环境状态 DIR TO PRINTER & 打印当前目录中表的名字 TYPE TO PRINTER & 打印ASCII字符文件的内容 定向输出命令 SET PRINTER ON | OFF SET PRINTER TO ADDITIVE | ,9.2 报表设计器的基本操作,打开报表设计器窗口 MODIFY REPORT 快速制表 报表菜单中的快速报表命令 例9-3 利用快速制表功能为SB.DBF设计一张包括编号、名称和价格3栏的报表
10、。 (1) 打开报表设计器窗口:往命令窗口键入命令MODIFY REPORT SBJGB,使屏幕上出现报表设计器窗口(参阅图9.12)。 (2) 设置数据源:在报表设计器窗口击右键,在快捷菜单中选定数据环境命令,在数据环境设计器窗口中添加SB表。 (3) 启动快速制表:选定报表设计器窗口,然后在报表菜单中选定快速报表命令,使出现如图9.11所示的快速报表对话框。 (4) 设置快速报表属性:选定快速报表对话框的字段按钮,在字段选择器对话框(图略)中依次选出编号、名称和价格等3个字段,选定确定按钮返回快速报表对话框。选定确定按钮返回报表设计器窗口。 (5) 保存报表定义:选定文件菜单的保存选项,将
11、产生报表文件SBJGB.FRX及其备注文件SBJGB.FRT。,页面预览,命令方式打印报表 REPORT FORM ENVIRONMENT FOR HEADING NOCONSOLE PLAIN RANGE 开始页 ,结束页 PREVIEW IN WINDOW | IN SCREEN NOWAIT TO PRINTER PROMPT | TO FILE ASCII SUMMARY 菜单方式打印报表 “报表”菜单的“运行报表”命令,9.3 报表设计器的高级操作,1. 页面设置,2. 设计报表带区,表9.1 报表带区的建立及作用,基本带区 例9-4 在例9-3所制报表的基础上,设计如图9.11所示
12、具有表格线的设备价格表。,标题与总结带区 数据分组与组标头/组注脚带区 报表菜单的数据分组命令,由报表向导产生一个经过数据分组的报表 工具菜单中向导选项的报表命令 例9-5 打印如图9.15所示带费用总计的设备大修分类表。,创建报表控件 例9-6 打印如图9.24所示设备大修费用表,要求相同的设备编号仅输出第一个。 (1) 定义快速报表: 键入命令MODIFY REPORT DXFY来打开报表设计器窗口在数据环境中添加DX表单击报表设计器窗口,然后选定报表菜单的快速报表命令选定快速报表对话框的确定按钮,使报表设计器窗口中出现编号、年月、费用等标签及字段控件。 (2) 增加总结带区: 选定报表菜
13、单的标题/总结命令在标题/总结对话框中选定总结 带区复选框。 (3) 调整带区高度及控件位置:将各带区调整至如图9.25所示的高度。,(4) 在总结带区建立费用控件: 选定报表控件工具栏的域控件按钮单击总结带区中间,在报表表达式对话框(参阅图9.21)的表达式文本框内键入表达式费用选定计算按钮,在计算字段对话框中选定总和选项按钮(见图9.22)选定确定按钮返回报表表达式对话框选定确定按钮返回报表设计器窗口,费用控件就出现在总结带区之中。 (5) 修改编号字段区: 双击编号字段,在报表表达式对话框中选定打印条件按钮在打印条件对话框中选定“否”按钮(参阅图9.23),使编号字段不打印重复的值选定确
14、定按钮返回报表表达式对话框选定确定按钮返回报表设计器窗口。 (6) 如图9.25所示画出表格线。,报表变量 例9-7 打印如图9.26所示的主要设备的设备役龄表,要求包括记录序号和设备役龄,部门在打印时使用汉字部门名。 (1) 打开报表设计器窗口:键入命令MODIFY REPORT SBYL。 (2) 设置数据环境:在数据环境中添加SB表和BMDM表,并使SB.部门与BMDM.代码关联(从SB.部门字段拖到BMDM.代码索引)。 (3) 定义快速报表:选定报表设计器窗口,然后选定报表菜单的快速报表命令在快速报表对话框中选定字段按钮在字段选择器对话框的SB表中挑选编号、名称、部门3个字段选定确定
15、按钮返回快速报表对话框选定确定按钮,使报表设计器窗口中出现编号、名称、部门等标签及字段控件。,(4) 设置在SB表部门字段控件的位置上输出汉字部门名:双击部门字段控件将报表表达式对话框的表达式文本框中的SB.部门改为BMDM.名称选定确定按钮返回报表设计器窗口,在该控件的位置上即能输出汉字部门名。 (5) 创建报表变量XH(用作序号): 选定报表菜单的变量命令在如图9.28所示报表变量对话框的变量列表中键入变量名XH在“要存储值”文本框中键入表达式XH+1选定确定按钮关闭报表变量对话框。 (6) 创建XH变量控件: 选定报表控件工具栏的域控件按钮单击细节带区左部在报表表达式对话框中选定表达式文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 表单 高级 设计 81 应用程序
链接地址:https://www.31doc.com/p-2567499.html