第10章报表和类.ppt
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二节 管理类和类库
一、在项目管理器窗口中管理类和类库 ▲在项目中添加和移去类库
在项目中添加类库的方法,与在项目中添加其 它文件的操作是一样的。 ▲复制和删除类库中的类
一个类库文件可以属于不同的项目。利用鼠标 拖放实现在项目中添加类库。
应该尽可能地将所有子类都包含在一个类库中。
▲重命名类库中的类
第九章 报表和标签
报表(Report)是用于在打印文档中显示或总 结数据。定义报表有两个要素:
▲ 报表的数据源
定义了报表中数据的来源,通常是表、视图、 临时表等。
▲ 报表的布局
定义了报表的打印格式。
报表存储时,在磁盘上形成两个文件:扩展名 为.frx的报表文件和扩展名为.frt的报表备注文件。 报表文件指定了报表的数据源、需要打印的文本 以及布局信息等。
3、使用类设计器定义类 类设计器窗口与表单设计器窗口相似,在属
性窗口中可以查看和设置类的属性;在代码编 辑窗口中可以编写各种事件和方法程序的代码。
二、为类添加新属性 新创建的类将继承其父类的属性,用户也可
以为其添加新的属性。 1、新建属性
为类新建属性方法是:
▲打开类设计器窗口(打开可视类库文件及指 定所需要的类) ▲选择菜单 类 / 新建属性 ▲在对话框中进行以下设置:
类的属性和方法不能赋于相同的名称。
四、查看和设置类信息
在使用类设计器时,通过菜单“类 / 类信息” 查看和设置类的有关信息(类选项卡),也可 以在“类信息”对话框中添加、修改和删除属 性和方法(成员选项卡)。
1、为类指定设计时的外观 ▲ 指定类的工具栏图标
▲ 指定类的容器图标
2、修改和删除类的属性和方法程序 在对话框中,不允许修改和删除父类的属性
▲使用DODEFAULT()函数 ▲使用域操作符 : :
两者的区别是:
DODEFAULT( )函数只能调用当前对象父 类中与当前事件或方法同名的事件或方法代码, 而作用域操作符可以调用在当前作用域中任何 一个对象(包括当前对象)父类中任何一个事 件或方法代码。
▲防止基类代码被执行
VFP对象继承父类或基类的所有属性、事件和 方法程序。但有时在事件和方法程序中希望防止 发生基类的默认操作,此时需要在方法程序代码 中加入NODEFAULT关键字来实现。
3、应用程序的主程序 主程序是一个应用系统运行时的起点,是在应
用系统执行时首先运行的程序。
一个项目中只能指定一个文件作为主程序。 能够成为VFP应用程序的主程序的文件只能是 程序文件、表单文件、菜单文件和查询文件。
初始化环境是主程序的功能之一。
4、排除和包含 VFP项目中对文件的引用有两种方式:
一、添加类到表单
▲在项目管理器中拖放类到表单设计器
▲注册可视类库
类库中的类如果在表单中频繁使用,可以将 类注册。类注册后,可以在表单控件工具栏中 选择显示和使用它们(注册方法详见教材 P241)。 ▲将类控件显示在表单控件工具栏中
由工具栏中的“查看类”按钮,在常用控件 按钮与类控件按钮间切换。
类控件显示在表单控件工具栏中后,可以直 接针类控件拖放到表单,实现由类控件创建对 象。
▲包含
被包含在项目中的文件在项目连编时后,将会 被完全合并在一个应用程序文件或可执行文件中, 当应用程序运行时,不再需要这些文件。
▲排除
被排除的文件不会被合并,仅在应用程序文件 或可执行文件中提供访问相应文件的方法,当程 序运行时,若需要这些文件,则应用程序将到指 定的位置查找并使用这些文件。
被排除的文件可以被用户动态地修改。
在项目管理器窗口中右击需要重命名的类。
注意:如果基于该类创建了子类,或在表单中 进行了应用,由于子类或表单中相应的控件中 都有一个ParentClass属性指向该类的名称,因 此改变了类的名称后,系统不会自动更新子类 和在表单中相关对象的ParentClass属性,这样 表单就不能正确地工作。
因此重命名应该在在创建其子类或应用之前, 一旦类被使用就不必再去更名。
二、调用父类方法程序代码
子 类 的 对 象 自 动 继 承 基 类 的 功 能 。 但 是 VFP 允许用户用新的功能来替代从基类继承来的功 能。
如果用户希望在为子类添加新功能的同时, 仍然保留和使用父类的功能,用户可以在类或 容 器 层 次 的 各 级 程 序 代 码 中 使 用 DODEFAULT ()函数或作用域操作符“ : : ”调用父类程序 代码。
的可视类库文件之中。一个类库文件可以保存 多个自定义子类。但VFP基类并不保存在.vcx类 库文件中。
用户也可以基于自定义子类创建其子类,并 且该子类与其所基于的子类,既可以保存在同 一个类库文件中,也可以保存在不同的类库文 件中。
2、创建子类和类库 VFP提供了多种创建子类的方法: ▲ 在项目管理器中 ▲ 在文件菜单(工具按钮)中 ▲ 在命令窗口中 在新建类对话框中,需要指定: ● 新类的名称 ● 所基于的类 ● 所保存的类库文件名及位置
名称和数组的行列大小。
设计时数组属性只读,运行时可以被修改或 重新声明。
三、为新类添加方法程序
与添加新属性类似,可以向类添加新的方法 程序。方法程序所保存的是调用时可以运行的 过程代码。方法创建后一般应编写方法程序代 码。
新方法程序的添加方法与添加新属性的方法 类似。其可视性含义与新属性中的可视性含义 相同。
和方法程序。
五、在设计表单时将表单和控件保存为类 在设计表单时,可以将指定的表单或控件保
存为类(“另存为类”命令)。 在另存为类时:
▲保存的范围 有三种选择:选定控件(当前表单无控件选
中时,此项不可选)、当前表单、整个表单集 (当前表单不在一个表单集中,此项不可选)。 ▲类定义
指定类的名称、所保存的类库文件名及位置、 类的说明文本。
认值。VFP对新属性默认的默认值为逻辑假。 用户可以为其设置其它数据类型的默认值,也可
将其默认值设置为空子串(删除原属性值)。
3、为属性创建Access和Assign方法程序 Access方法程序是指在查询属性值时执行的代码。 Assgin方法程序是指更改属性值时执行的代码。
4、创建数组属性 在创建新属性时,在名称框内可以指定数组
标签实质上是一种多列布局的特殊报表,具有 为匹配特定标签纸的特殊设置。
标签的定义存储在扩展名为.lbx的标签文件之 中。相关的标签备注文件的扩展名为.lbt。
设计报表按四个步骤进行: ● 决定要创建的报表类型 ● 创建报表布局文件 ● 修改和定制布局文件 ● 预览的打印报表
一、报表类型 报表类型主要是指报表的布局类型。报表布局
的常规类型有(详见教材P220): ▲ 列报表 ▲ 行报表 ▲ 一对多报表 ▲ 多栏报表
二、创建报表 VFP提供了下以3种可视化创建报表的方法: ▲ 用报表向导创建单表或多表报表 ▲ 用快速报表从单表中创建一张简单报表 ▲ 用报表设计器创建报表
三、报表的带区 报表带区是指报表中的一块区域,可以包含文
四、预览 / 打印报表 利用REPORT命令可以预览和打印报表。
语法:
REPORT FORM FileName1 [ 范围 ] ; [ FOR 条件表达式 ] ;
[ TO PRINT ] [ TO FILE FileName2 ] ;
[ PREVIEW ] FileName1 报表文件名 PREVIEW 预览报表
打印次数 每报表一次 每页面一次 每列一次 每组一次 每记录一次 每组一次 每列一次 每页一次 每报表一次
▲ 所谓分组是在报表中记录按某一表达式归类。 报表中的分组最多可以有三个分组层次。
▲ 要使报表输出时插入页码,需要在报表中添 加字段控件,并在表达式对话框中定义的表达 式中含有系统变量_PAGENO。 ▲ 在报表中要增加带区,可以通过报表菜单中 的相应菜单项进行(涉及分组的带区,必须首 先对记录设置分组表达式)。
▲应用程序文件(.app)
VFP的应用程序文件(.app)的运行不能脱离 VFP的环境,但.app文件将多个相关的文件合并 为一个文件,并隐藏了VFP的原代码。
▲可执行文件(.exe)
VFP的可执行文件(.exe)的运行可以完全脱 离VFP的环境,但需要和两个VFP的动态连接库 ( vfp6r.dll 和 vfp6enu.dll ) 连 接 , 它 们 共 同 构 成 VFP应用程序所需的完事运行环境。
5、在项目中连编应用程序文件 除在项目管理器中可视化地连编应用程序外,
还可以使用以下命令:
BUILD APP 程序文件名 FROM 项目文件名 BUILD EXE 程序文件名 FROM 项目文件名
连编后的应用程序文件可以在VFP环境下,从 “程序”菜单中或用DO命令运行;连编后的可 执行文件可以直接在Windows中运行。
第十二章 建立应用程序
1、编译应用程序 所谓编译应用程序就是将所有在项目中引用的
文件(除标记为排除的文件)合成为一个可执 行的应用程序文件。
VFP的项目管理器的连编功能可以把项目中的 相关组件编译成一个应用程序文件。
2、连编应用系统
在VFP的项目管理器中,可以把项目中的文件 连编成以下两种文件:
名称栏 输入属性的名称 可视性 指出可视性:公共、保护、隐藏 说明栏 输入有关属性的说明
可视性的含义: ● 公共
可以应用程序的任何位置被访问。 ● 保护
仅能被该类定义内的方法程序或该类的派生 类所访问。 ● 隐藏
只能被该类定义内的成员所访问,该类的子 类不能引用它们。
2、为新属性设置默认值 创建了新属性后,通常应该为该属性指定一个默
二、在类浏览器窗口中管理类和类库
类浏览器是专门用于显示类库或表单中的类 的工具,它除了能浏览类库中的类外,也能够 显示诸如.tlb、.olb和.exe文件中的类型库信息。
类浏览器的打开,可选择“工具”菜单中的 “类浏览器”菜单项,或者在命令窗口中键入 命令:
DO (_BROWSER)
第三节 类的应用
第十章 类的创建和应用
第一节 设计和创建子类
一、创建子类
创建一个新的类应该说明所设计的类的属性 和方法,以便于其它用户和其它应用程序方便 地使用这些类。
1、子类和类库 用 户 可 以 基 于 VFP 的 基 类 创 建 自 定 义 的 子 类 。 VFP将用户自定义的子类保存在扩展名为.vcx
本、来自表字段中的数、计算值、用户自定义 函数以及图片、线条等。
报表上可以有各种不同类型的带区。每一带区 的底部都有一个分隔栏。带区名称显示于靠近箭 头的樯,箭头指示该带区位于栏之上,而不是栏 之下。
在默认情况下,报表设计器中显示三个带区: ▲ 页标头 ▲ 细节 ▲ 页注脚
带区 标题 页标头(默认) 列标头 组标头 细节(默认) 组注脚 列注脚 页注脚(默认) 总结