PoweBuilder8.0彻底研究
2003-1
中国铁道出版社
李勇
723
1113
PowerBuilder 8.0是一个非常优秀的企业级应用开发工具,它不仅可用于开发客户/服务器应用,而且可以开发与Sysbase EAServer紧密结合的、基于多层体系结构的Web应用。本书全面系统地介绍了PowerBuilder 8.0的各项功能。
本书层次清晰,实例丰富,语言通俗易懂。介绍了应用开发准则,团队开发和资源控制,应用的创建与使用,窗口的创建与使用,菜单的创建与使用,怎样创建数据库访问路径以及如何将数据通过数据窗口显示出来,函数、结构和用户对象的使用方法及应用的编译发行,除此之外还包括了Web应用开发等内容。
本书既可以作为广大读者学习PowerBuilder 8.0的指导书,也可以作为程序开发与设计人员的编程参考手册。
第1章 PowerBuilder简介
1.1 什么是PowerBuilder
1.2 PowerBuilder 8.0的新特点
第2章 PowerBuilder应用开发准则
2.1 界面设计准则
2.1.1 外观设计
2.1.1.1 外观设计应遵守的原则
2.1.1.2 界面设计的基本要求
2.1.1.3 用户界面工作方式
2.1.1.4 设计外观的要求
2.1.1.5 窗口(Window)定制规范
2.1.1.6 控件定制规范
2.1.1.7 数据窗口及其控件定制规范
2.1.1.8 菜单控件定制规范
2.1.1.9 可视定制用户对象控件定制规范
2.1.2 数据输入界面设计
2.1.2.1 数据输入的规则
2.1.3 数据显示界面设计
2.1.3.1 数据显示的规则
2.1.3.2 字符数据的显示规则
2.1.3.3 图形显示规则
2.1.3.4 报告
2.1.4 控制界面的设计
2.1.4.1 用控制对话选择操作命令
2.1.4.2 用图标表示对象或命令
2.1.4.3 直接操作
2.1.4.4 用窗口划分屏幕
2.1.5 界面外观设计方式
2.1.5.1 抽象类与概括类操作外观界面设计
2.1.5.2 最终界面设计方式
2.2 程序设计准则
2.2.1 事件命名准则
2.2.1.1 标准事件
2.2.1.2 类库事件
2.2.1.3 绝缘层事件
2.2.1.4 菜单事件
2.2.1.5 其他事件
2.2.1.6 事件命名小结
2.2.2 变量命名准则
2.2.2.1 语法约定
2.2.2.2 标准数据类型前缀
2.2.2.3 标准对象数据类型前缀
2.2.3 对象命名准则
第3章 PowerBuilder 8.0集成开发环境
3.1 PowerBuilder 8.0集成开发环境(IDE)综述
3.1.1 PowerBuilder主界面
3.1.1.1 系统树窗口
3.1.1.2 剪贴窗口
3.1.1.3 输出窗口
3.1.2 PowerBuilder向导
3.1.3 PowerBuilder工具条
3.1.4 PowerBuilder画笔
3.1.4.1 打开画笔
3.1.4.2 调整画笔中的视图
3.1.4.3 画笔小结
3.1.5 辅助开发功能
3.1.5.1 To-Do List用法
3.1.5.2 自定义菜单快捷键
3.1.5.3 Browser画笔的使用
3.1.5.4 Library画笔的使用
3.2 PowerBuilder常用概念与术语
第4章 PowerBuilder 8.0开发语言
4.1 PowerScript语言简介
4.1.1 语言基础
4.1.2 数据类型
4.1.3 声明常量、变量和数组
4.1.4 操作符和表达式
4.1.5 结构和对象的引用
4.1.6 调用函数和事件
4.1.7 PowerScript流控制语句
4.1.8 内嵌SQL语句
4.2 Web开发语言简介
4.2.1 VBScript语言
4.2.1.1 VBScript语言简介
4.2.1.2 VBScript语言基础
4.2.1.3 VBScript编程基础
4.2.1.4 VBScript的过程
4.2.2 JavaScript语言
4.2.2.1 JavaScipt语言简介
4.2.2.2 JavaScipt语言基础
4.2.2.3 JavaScipt编程基础
4.2.2.4 JavaScipt中的对象
4.2.3 XML语言
4.2.3.1 XML语言简介
4.2.3.2 XML概念和术语
4.2.3.3 XML语言基础
第5章 PowerBuilder与数据库的连接
5.1 ODBC接口与数据库连接
5.1.1 ODBC接口的工作原理
5.1.2 ODBC接口连接实例
5.2 OLE DB接口与数据库连接
5.2.1 OLE DB接口的工作原理
5.2.2 OLE DB接口连接实例
5.3 专用接口与数据库连接
5.3.1 什么是PowerBuilder专用数据库接口
5.3.2 Sybase数据库专用接口连接实例
5.3.3 Oracle数据库专用接口连接实例
5.4 JDBC接口与数据库连接
5.4.1 什么是JDBC接口
5.4.2 JDBC连接的组成
5.4.2.1 如何建立一个JDBC连接
5.4.2.2 JDBC DLL
5.4.2.3 PowerBuilder Java包
5.4.2.4 Java VM
5.4.2.5 JDBC驱动程序
5.4.3 JDBC注册入口
5.4.4 支持的JDBC版本
5.4.5 支持的JDBC数据类型
5.5 使用JDBC接口的准备工作
5.5.1 配置数据库服务器
5.5.2 检查Java虚拟机
5.5.3 安装JDBC接口
5.6 定义JDBC接口
5.6.1 指定连接参数
5.6.2 指定适当的Java虚拟机
5.7 数据管道对象
5.7.1 什么是数据管道
5.7.2 如何创建数据管道
5.7.2.1 启动数据管道画笔
5.7.2.2 设置数据管道选项
5.7.2.3 测试数据管道
5.7.2.4 保存数据管道
5.7.2.5 退出数据管道画笔
5.7.3 如何在程序中实现不同数据库之间的数据传递
第6章 Web开发中资源控制系统
6.1 资源控制系统
6.1.1 什么是资源控制系统
6.1.2 为什么使用资源控制系统
6.1.3 资源控制界面
6.2 使用资源控制管理
6.2.1 工具的使用
6.2.2 使用PBNative的检入与检出功能
6.3 多用户的环境限制
6.3.1 项目管理的任务
6.3.2 开发者任务
第7章 应用对象
7.1 工作区和目标
7.2 应用简介
7.3 创建一个新应用
7.3.1 创建可执行应用的方法
7.3.2 手工应用向导
7.3.3 模板应用向导
7.4 打开应用对象
7.5 设置应用对象的属性
7.6 编写应用级脚本
7.7 运行应用
7.8 检索路径的添加
7.9 查看应用所包含的对象
7.9.1 Browser画笔的使用
7.9.2 Library画笔的使用
7.10 练习:实例应用创建
7.10.1 创建工作区
7.10.2 创建实例应用对象
7.10.3 设置修改应用对象属性
7.10.4 应用对象的程序编写
第8章 窗口对象
8.1 概述
8.2 创建一个新窗口
8.2.1 普通方式创建
8.2.2 继承方式创建
8.2.2.1 继承简介
8.2.2.2 继承创建窗口
8.3 设置窗口的属性
8.3.1 设置General属性页
8.3.2 设置Scroll属性页
8.3.3 设置Toolbar属性页
8.3.4 设置Other属性页
8.4 为窗口添加控件
8.4.1 控件概述
8.4.2 添加控件
8.4.3 设置控件的属性
8.4.3.1 控件的选择
8.4.3.2 控件的命名规则
8.4.3.3 显示文本的修改
8.4.3.4 定义快捷键
8.4.3.5 定义控件的可访问属性
8.4.3.6 选择前景或背景色
8.4.3.7 控件的边框类型
8.4.3.8 控件的指针类型和拖拉图标
8.4.4 有关控件的操作
8.4.4.1 剪切、拷贝、粘贴和删除
8.4.4.2 移动和改变控件大小
8.4.4.3 控件的排列和间距的调整
8.4.4.4 定义控件的Tab顺序
8.4.5 控件的使用
8.4.5.1 激活动作类控件
8.4.5.2 显示数据类控件
8.4.5.3 指示选择类控件
8.4.5.4 修饰类控件
8.5 窗口编程
8.5.1 窗口和控件的事件
8.5.2 窗口和控件的函数
8.5.3 定义实例变量
8.6 查看和执行窗口
8.6.1 查看窗口
8.6.2 运行窗口
8.7 练习:实例窗口创建
8.7.1 实例应用主窗口“w_main”创建练习
8.7.1.1 创建窗口对象
8.7.1.2 窗口对象属性设置
8.7.2 学院信息维护窗口“w_college”创建练习
8.7.2.1 创建窗口对象
8.7.2.2 添加窗口控件、设置和修改窗口控件属性
8.7.2.3 窗口与控件的编程 193
8.7.3 课程信息维护窗口“w_course”创建练习
8.7.4 学生选课信息录入窗口“w_elective”创建练习
8.7.5 学生选课信息修改窗口“w_elective_update”创建练习
8.7.5.1 创建窗口对象
8.7.5.2 添加窗口控件、设置和修改窗口控件属性
8.7.5.3 窗口与控件的编程
8.7.6 学号检索/录入窗口“w_newstudent”创建练习
8.7.7 关于窗口“w_about”创建练习
8.7.8 课程被选信息查询窗口“w_course_elective”创建练习
8.7.9 通用打印预览窗口“w_dw_preview”创建练习
8.7.10 数据窗口打印设置窗口“w_dw_print_options”创建练习
8.7.11 邀请函打印窗口“w_request_letter”创建练习
8.7.12 学生选课统计表窗口“w_elective_crosstab”创建练习
8.7.13 学生平均成绩报表窗口“w_stud_achievement”创建练习
8.7.14 学生信息打印窗口“w_stud_number”创建练习
8.7.15 学生信息查询窗口“w_trv_lv”创建练习
8.7.15.1 创建窗口对象
8.7.15.2 添加窗口控件、设置和修改窗口控件属性
8.7.15.3 窗口与控件的编程
8.7.16 学生信息录入窗口“w_student”创建练习
8.7.17 选课记录统计窗口“w_elective_graph”创建练习
8.7.18 课程选修详细信息统计图窗口“w_elective_graph_1”创建练习
8.8 窗口操作与控制技术
8.8.1 窗口自动居中实例
8.8.2 MDI窗口中背景图片的显示实例
8.8.3 窗口控件与窗口尺寸同步实例
第9 章 菜单对象
9.1 概述
9.2 创建一个新菜单
9.2.1 向导方式创建
9.2.2 菜单的常规操作
9.2.3 继承方式创建
9.3 设置菜单的属性
9.3.1 设置通用属性
9.3.2 设置工具条属性
9.4 编写菜单的脚本
9.5 菜单的引用
9.6 练习:实例菜单创建
9.6.1 退出菜单“m_exit”创建练习
9.6.1.1 创建退出菜单对象
9.6.1.2 添加菜单项、设置和修改菜单项属性
9.6.1.3 菜单程序的编制
9.6.2 学生管理菜单“m_student”创建练习
9.6.2.1 创建学生管理菜单对象
9.6.2.2 添加菜单项、设置和修改菜单项属性
9.6.2.3 菜单程序的编制
9.6.3 报表菜单“m_report”创建练习
9.6.3.1 创建报表菜单对象
9.6.3.2 添加菜单项、设置和修改菜单项属性
9.6.3.3 菜单程序的编制
9.6.4 选课菜单“m_elective”和“m_elective_update”创建练习
6.6.4.1 创建菜单“m_elective”
9.6.4.2 创建菜单“m_elective_update”
9.6.5 实例应用主菜单“m_example_main”创建练习
9.6.5.1 创建主菜单m_example_main
9.6.5.2 添加菜单项、设置和修改菜单项属性
9.6.5.3 菜单程序的编制
9.7 菜单操作与控制技术
9.7.1 图片菜单制作实例
第10章 数据窗口
10.1 创建数据窗口
10.2 数据窗口的显示风格与数据源
10.2.1 数据窗口的显示风格
10.2.2 数据窗口的数据源
10.3 设置数据窗口属性
10.3.1 设置数据窗口属性的方法
10.3.2 数据窗口的常规属性
10.3.3 数据窗口的HTML属性
10.4 数据窗口中的控件
10.4.1 为数据窗口添加控件
10.4.2 数据窗口中常用控件的属性设置
10.5 数据的操作与控制
10.5.1 定义数据窗口检索参数
10.5.2 编辑数据窗口的WHERE子句
10.5.3 数据窗口中数据的排序与过滤
10.5.4 数据窗口中数据的分组与汇总
10.5.5 数据窗口中的多行选择
10.5.6 数据窗口中的模糊查询
10.5.7 数据窗口中的多表更新
10.5.8 数据窗口中金额大小写转换
10.5.9 数据窗口中记录颜色的改变
10.5.10 数据窗口中的内嵌函数
10.5.11 数据窗口中的列自动折行显示
10.5.12 下拉数据窗口中的关键字搜索
10.5.13 数据窗口中的回车键代替Tab键跳转
10.5.14 数据窗口中的自动刷新技术
10.5.15 数据窗口中“Datastore”的应用
10.5.16 数据窗口中的异步检索
10.5.17数据窗口中文本闪烁
10.6 报表数据的输出
10.6.1 嵌套报表
10.6.2 自由风格报表
10.6.3 PSR文件报表
10.7 练习:实例数据窗口创建
10.7.1 学院信息维护数据窗口“d_college”创建练习
10.7.2 课程信息维护数据窗口对象“d_course”创建练习
10.7.2.1 创建数据窗口对象
10.7.2.2 添加对象控件与设置修改属性
10.7.3 简单数据窗口对象的创建
10.7.4 学生导师信息维护数据窗口“d_stud_teach”的创建练习
10.7.4.1 创建数据窗口对象
10.7.4.2 添加对象控件与设置修改属性
10.7.5 复杂数据窗口对象创建练习
10.7.6 特殊风格数据窗口对象创建练习
10.7.6.1 选课统计报表数据窗口对象“d_elective_crosstab”创建练习
10.7.6.2 邀请信函生成数据窗口对象“d_request_letter”创建练习
10.7.6.3 学院课程选修统计图数据窗口对象“d_elective_graph”创建练习
10.7.6.4 课程选择统计图数据窗口对象“d_elective_graph_1”创建练习
10.7.6.5 学生入学成绩报表数据窗口对象“d_student_check”创建练习
10.8 数据窗口的打印技术
10.8.1 多数据窗口单独页号打印
10.8.2 多数据窗口连续页号打印
10.8.3 报表局部数据的打印
10.8.4 复杂报表的制作
10.8.5 动态设置打印机
10.8.6 大文本数据的打印
10.8.7 打印预览
第11章 用户对象
11.1 用户对象的分类
11.1.1 可视用户对象
11.1.1.1 标准可视用户对象
11.1.1.2 定制可视用户对象
11.1.1.3 外部可视用户对象
11.1.2 类用户对象
11.1.2.1 标准类用户对象
11.1.2.2 定制类用户对象
11.2 用户对象的设计
11.2.1 创建新用户对象
11.2.1.1 创建新用户对象
11.2.1.2 创建可视用户对象
11.2.1.3 创建类用户对象
11.2.1.4 用户对象的变量、结构、事件与函数定义
11.2.1.5 不可视对象在用户对象中的定义
11.2.1.6 使用继承创建用户对象
11.2.1.7 保存用户对象
11.3 用户对象的使用
11.3.1 可视用户对象的使用
11.3.2 类用户对象的使用
11.4 连接对象的设计与使用
11.4.1 什么是连接对象
11.4.2 数据库连接对象的使用
11.4.2.1 创建数据库连接对象
11.4.2.2 数据库连接对象在程序中的用法
11.4.3 EAServer连接对象的使用
11.4.3.1 创建EAServer连接对象
11.4.3.2 EAServer连接对象在程序中的用法
11.5 连接对象创建练习
11.6 用户对象在应用程序完善中的应用
11.6.1 操作系统文件夹的使用
11.6.2 数据窗口列排序
11.6.3 动态取得操作系统数据
11.6.4 程序的多媒体化
11.6.5 利用Word AutoServer完成复杂的文档检查
11.6.6 如何将程序图标添加到系统栏
11.6.7 系统时间的控制方法
第12章 函数和结构
12.1 函数的设计和使用
12.1.1 函数概述
12.1.2 函数的定义
12.1.2.1 打开函数画笔或视图
12.1.2.2 定义访问级别
12.1.2.3 定义返回类型
12.1.2.4 命名函数
12.1.2.5 定义参数
12.1.2.6 定义THROWS段(可选)
12.1.2.7 编码
12.1.2.8 编译保存函数
12.1.2.9 外部函数的定义
12.1.3 函数的修改
12.1.4 函数的使用
12.1.5 调用原则
12.1.6 函数应用实例
12.1.6.1 解压缩功能的实现
12.1.6.2 上网拨号功能的实现
12.1.6.3 邮件助理功能的实现
12.2 结构的设计和使用
12.2.1 结构概述
12.2.2 结构的定义
12.2.2.1 打开结构画笔或视图
12.2.2.2 命名结构
12.2.2.3 定义组成结构的变量
12.2.2.4 保存结构
12.2.3 结构的修改
12.2.4 结构的使用
12.2.4.1 通过结构传递参数
12.3 练习:实例函数与结构的创建
第13章 程序调试
13.1 调试环境简介
13.2 断点操作
13.2.1 调试程序的切换
13.2.2 断点的设置
13.2.3 断点的无效和有效
13.2.4 断点的清除
13.3 调试方法
13.3.1 调试的开始、继续和停止
13.3.2 各种调试方法的比较
13.4 查看信息
13.4.1 查看各种变量的值
13.4.2 查看其他信息
13.5 练习:跟踪调试
13.5.1 添加断点
13.5.2 调试应用
第14章 编译发行
14.1 概述
14.2 建立工程对象
14.2.1 新建或打开工程对象
14.2.2 编译生成各类对象
14.3 编译生成可执行应用
14.3.1 编译参数说明
14.3.2 资源文件的创建
14.3.3 选择所需打包方式
14.3.3.1 编码格式
14.3.3.2 打包文件
14.3.3.3 打包模型
14.3.4 编译生成和测试
14.4 发行可执行应用
14.4.1 PowerBuilder运行所需环境
14.4.2 数据源所需环境
14.4.2.1 数据库接口文件
14.4.2.2 配置ODBC驱动程序
14.4.2.3 配置Adaptive Server Anywhere运行系统
14.4.3 可执行应用的支持文件
14.4.4 应用运行环境小结
14.5 练习:编译发行
14.5.1 创建工程对象
14.5.2 编译生成可执行文件
14.5.3 创建快捷方式
14.5.4 测试可执行文件
第15章 PowerBuilder8.0开发Web应用的一般过程
15.1建立工作环境
15.1.1 PowerBuilder8的Web开发功能
15.1.2 PowerBuilder8的一般开发过程
15.1.2.1 启动PowerBuilder
15.1.2.2 建立工作区
15.1.2.3 建立目标
15.1.2.4 建立和编辑文档
15.1.2.5 网页的设计结果预览
15.2 文档的编辑方法
15.3 载入WEB服务器发行
第16章 PowerBuilder8.0 Web应用开发实例
16.1 开发简单的HTML文档
16.2 在HTML文档中加入数据窗口
16.3 在HTML文档中加入Active X控件
第17章 Sybase企业应用服务工具介绍
17.1 分布式应用的使用技术
17.1.1 什么是分布式应用
17.1.2 PowerBuilder分布式应用的基本概念与运行原理
17.1.3 如何实现PowerBuilder应用的分布化
17.2 组件事务服务器--Jaguar CTS
17.2.1 Jaguar CTS简介
17.2.2 Jaguar CTS的结构
17.2.3 Jaguar CTS的组件事务管理
17.2.3.1 服务器的配置与管理
17.2.3.2 连接高速缓存管理
17.2.3.3 组件管理
17.2.3.4 包管理
17.2.3.5 事务管理
17.2.3.6 角色管理
17.2.4 Jaguar CTS组件开发
17.2.4.1 Jaguar应用程序的功能与结构
17.2.4.2 CTS应用程序的运行模式
17.2.4.3 CTS应用程序的构成
17.2.4.4 CTS应用开发的方式
17.3 动态站点管理工具--PowerDynamo
17.3.1 PowerDynamo简介
17.3.1.1 什么是PowerDynamo
17.3.1.2 PowerDynamo工作原理
17.3.2 PowerDynamo Web站点管理
17.3.2.1 构建PowerDynamo Web站点
17.3.2.2 PowerDynamo Web站点维护
17.3.3 PowerDynamo与Jaguar CTS
17.3.3.1 PowerDynamo和Jaguar CTS的关系
17.3.3.2 连接Jaguar CTS服务器
17.3.3.3 调用Jaguar CTS中的组件方法
附录A C/C++语言与PowerBuilder之间数据类型的转换
附录B 系统常用函数列表及应用
附录C VB编码规范
C.1 为什么要进行编码约定
C.2 最小编码约定
C.3 对象命名约定
C.4 常量和变量命名约定
C.5 结构化编码约定
C.5.1 代码注释约定
C.5.2 记住下列几点
附录D Java编码规范
D.1 简介
D.2 格式
D.2.1 缩进
D.2.2 间隔
D.2.3 空行
D.2.4 类成员的摆放顺序
D.2.5 文件格式(File Format)
D.2.6 行最大长度
D.2.7 括号
D.3 标识符
D.3.1 类和接口
D.3.2 包
D.3.3 其他标识符
D.3.4 get和set方法
D.4 注释
D.4.1 JavaDoc
D.4.1.1 类
D.4.1.2 方法
D.4.2 代码的自我说明
D.5 编码
D.5.1 决不要使用的结构
D.5.1.1 决不要使用do...while结构
D.5.1.2 决不要在一个方法的中间使用“return”
D.5.1.3 决不要用“continue”
D.5.1.4 决不要使用“break”
D.5.2 不要混合使用递增运算符和递减运算符
D.5.3 初始化
D.5.4 范围(scope)
D.6 编程的几点注意
附录E C++编码规范
E.1 简介
E.1.1 基本原理
E.2 代码组织与风格
E.2.1 代码结构
E.2.2 代码风格
E.3 注释
E.4 命名
E.4.1 名字空间命名
E.4.2 类命名
E.4.3 函数命名
E.4.4 对象与函数参数命名
E.4.5 异常命名
E.4.6 其他事项
E.5 声明
E.5.1 名字空间
E.5.2 类
E.5.3 函数
E.5.4 类型
E.5.5 常量与对象
E.6 表达式和语句
E.6.1 表达式
E.6.2 语句
E.7 特殊主题
E.7.1 内存管理
E.7.2 错误处理与异常
E.8 复用
E.9 编译问题