第1章 绪论 1
1.1 信息系统软件开发概述 1
1.1.1 我国信息系统软件开发的现状 1
1.1.2 PowerBuilder开发典型成功案例 2
1.1.3 PowerBuilder程序员成长途径 3
1.2 PowerBuilder 9.0简介 4
1.2.1 PowerBuilder概述 4
1.2.2 PowerBuilder 9.0的特点 4
1.3 PowerBuilder 9.0的安装与启动 7
1.3.1 PowerBuilder 9.0安装的软硬件环境 7
1.3.2 PowerBuilder 9.0的安装和启动 8
1.4 PowerBuilder 9.0的开发环境 8
1.4.1 PowerBuilder 9.0的界面介绍 8
1.4.2 画板 11
1.4.3 应用程序开发步骤 12
1.5 一个简单的应用程序——计算器 13
1.5.1 新建一个工作区对象 13
1.5.2 建立应用 13
1.5.3 创建窗口 15
1.5.4 添加单行文本框和按钮控件 15
1.5.5 定义实例变量 16
1.5.6 编写控件脚本 16
1.5.7 编写应用脚本并运行应用程序 18
1.6 PowerBuilder中的面向对象思想 19
1.6.1 PowerBuilder中的面向对象思想 19
1.6.2 PowerBuilder中对象的属性、事件和函数 19
1.6.3 PowerBuilder中面向对象的特性 21
1.7 一个简单的程序调试函数——MessageBox() 22
1.8 PowerBuilder的在线查找方法——OnLine Book 23
1.9 小结 25
1.10 习题 25
第2章 高校学生成绩管理系统实例 26
2.1 系统分析 26
2.1.1 系统开发指导思想 26
2.1.2 系统功能分析 27
2.2 系统设计 27
2.2.1 数据库设计 27
2.2.2 功能模块设计 32
2.3 系统安装与运行 32
2.3.1 数据库配置 32
2.3.2 系统运行 34
2.4 系统运行主要界面 34
2.4.1 系统登录窗口 34
2.4.2 系别信息窗口 34
2.4.3 学生基本信息窗口 35
2.4.4 班级信息窗口 35
2.5 小结 36
2.6 习题 36
第3章 创建应用程序 37
3.1 创建应用对象 37
3.1.1 创建一个工作区 38
3.1.2 创建应用对象 39
3.2 应用画板 40
3.3 应用对象的属性 42
3.3.1 General属性 42
3.3.2 Toolbar属性 43
3.3.3 Additional Properties 43
3.4 应用对象的事件 44
3.4.1 Open事件 44
3.4.2 Close事件 44
3.4.3 SystemError事件 45
3.4.4 Idle事件 45
3.5 一个应用程序示例——屏幕保护程序 45
3.6 小结 46
3.7 习题 47
第4章 PowerScript语言 48
4.1 基础知识 48
4.1.1 注释 48
4.1.2 断行、续行与分割符 49
4.1.3 标识符 50
4.1.4 代词 51
4.1.5 空值NULL 53
4.1.6 保留字 53
4.2 数据类型 54
4.2.1 标准数据类型 54
4.2.2 枚举类型 57
4.2.3 系统对象数据类型 57
4.2.4 Any类型 58
4.3 变量与常量 59
4.3.1 变量的声明 59
4.3.2 变量的分类与作用域 60
4.3.3 常量 61
4.4 运算符 61
4.4.1 算术运算符 61
4.4.2 关系运算符 62
4.4.3 逻辑运算符 62
4.4.4 连接运算符 63
4.4.5 运算符的优先级 63
4.5 数组 63
4.5.1 一维数组 64
4.5.2 二维数组 64
4.5.3 数组的上下界 65
4.6 条件语句 65
4.6.1 IF语句 65
4.6.2 CHOOSE CASE语句 66
4.7 循环语句 67
4.7.1 DO…LOOP循环语句 67
4.7.2 FOR…NEXT循环语句 69
4.7.3 GOTO、CONTINUE、EXIT语句 72
4.7.4 特殊控制语句 73
4.8 SQL语句 74
4.8.1 在PowerBuilder 9.0中使用SQL语句 74
4.8.2 游标的使用 78
4.8.3 实例回顾——游标在数据提取中的应用 79
4.9 常用函数 80
4.9.1 数据转换与检查函数 80
4.9.2 数值计算函数 81
4.9.3 字符串操作函数 81
4.9.4 日期时间函数 82
4.9.5 文件系统函数 83
4.10 用户自定义函数与结构 83
4.10.1 用户自定义全局函数 83
4.10.2 用户自定义对象函数 85
4.10.3 用户自定义全局结构 86
4.11 结构及函数举例 88
4.12 小结 92
4.13 习题 92
第5章 使用数据库 94
5.1 数据库画板 94
5.2 创建本地数据库 95
5.2.1 创建本地数据库操作步骤 95
5.2.2 删除本地数据库 97
5.3 连接数据库 98
5.3.1 PowerBuilder与数据库连接的两种方式 98
5.3.2 创建ODBC数据源 99
5.3.3 创建、导入和导出配置文件Database Profile 101
5.3.4 使用事务对象在应用程序中连接数据库 104
5.4 操作数据表 108
5.4.1 数据表的创建与删除 108
5.4.2 主键、外键、索引 109
5.4.3 操作表中的数据 112
5.4.4 视图 113
5.5 数据库使用实例——一个用户登录窗口 114
5.6 小结 117
5.7 习题 117
第6章 窗口 119
6.1 窗口的分类 119
6.1.1 主窗口 119
6.1.2 子窗口 119
6.1.3 弹出式窗口 120
6.1.4 响应式窗口 120
6.1.5 MDI框架窗口 120
6.2 窗口画板 121
6.3 窗口的创建与继承 124
6.3.1 窗口的创建 124
6.3.2 窗口的继承 124
6.4 窗口的属性 127
6.4.1 常规属性 127
6.4.2 其他属性 128
6.5 窗口的函数与事件 129
6.5.1 窗口的常见函数 130
6.5.2 窗口的常用事件 134
6.6 窗口设计实例 136
6.7 小结 137
6.8 习题 138
第7章 控件 139
7.1 控件的种类 139
7.2 窗口控件的管理 139
7.2.1 向窗口添加控件 139
7.2.2 选中窗口控件 140
7.2.3 窗口控件的复制和删除 141
7.2.4 窗口控件的布局 141
7.3 窗口控件的通用属性 142
7.3.1 名称 143
7.3.2 显示文本属性 144
7.3.3 Visible属性 145
7.3.4 Enabled属性 145
7.3.5 颜色 145
7.3.6 加速键 146
7.3.7 焦点与Tab顺序 147
7.4 窗口控件的常用事件 147
7.4.1 Clicked事件 147
7.4.2 SelectionChanged事件 149
7.4.3 Modified事件 150
7.4.4 GetFocus事件 152
7.5 各种控件的使用 152
7.5.1 命令按钮和图片按钮 152
7.5.2 单选按钮和复选框 154
7.5.3 单行/多行编辑框、编辑掩码框 156
7.5.4 静态文本和静态超链接 158
7.5.5 图片和图片超链接 159
7.5.6 水平/垂直滚动条 160
7.5.7 水平/垂直进度条 162
7.5.8 水平/垂直刻度条 164
7.5.9 列表/图片列表框与下拉列表/下拉图片列表框 165
7.5.10 标签控件 167
7.5.11 树视图和列表视图 171
7.5.12 OLE控件 174
7.6 控件应用实例 175
7.6.1 利用静态文本实现实时帮助 175
7.6.2 利用列表框选择和移动数据 176
7.6.3 用树视图和列表视图实现学生信息浏览 178
7.7 小结 180
7.8 习题 181
第8章 菜单 183
8.1 创建菜单 183
8.1.1 菜单的组成和分类 183
8.1.2 菜单画板 185
8.1.3 创建菜单对象 186
8.1.4 添加菜单项 187
8.2 菜单属性 189
8.3 菜单事件 191
8.4 菜单函数 191
8.5 菜单与窗口的关联 194
8.6 弹出式菜单 194
8.7 菜单应用实例 196
8.8 小结 199
8.9 习题 199
第9章 数据窗口 201
9.1 利用数据窗口编程的一般步骤 201
9.2 创建数据窗口对象 202
9.3 数据窗口的11种表现风格 204
9.3.1 Freeform表现风格 205
9.3.2 Grid表现风格 205
9.3.3 Tabular表现风格 205
9.3.4 Label表现风格 206
9.3.5 Graph表现风格 206
9.3.6 N-Up表现风格 208
9.3.7 Group表现风格 209
9.3.8 Crosstab表现风格 209
9.3.9 Composite表现风格 210
9.3.10 Richtext表现风格 211
9.3.11 OLE 2.0表现风格 212
9.4 选择数据源 213
9.4.1 定义Quick Select数据源 213
9.4.2 定义SQL Select数据源 214
9.4.3 定义Query数据源 220
9.4.4 定义External数据源 221
9.4.5 定义Stored Procedure数据源 222
9.5 编辑数据窗口对象 223
9.5.1 数据窗口画板介绍 223
9.5.2 设计数据窗口对象 226
9.5.3 数据的操纵 232
9.6 数据窗口控件 236
9.6.1 创建数据窗口控件 237
9.6.2 数据窗口控件的函数 238
9.6.3 数据窗口控件的事件 242
9.7 数据存储 245
9.7.1 数据存储的属性、事件、方法与函数 245
9.7.2 使用数据存储编程的步骤 245
9.8 实例一——用户基本信息管理窗口 246
9.9 实例二——树视图与数据窗口相关联的界面设计风格 251
9.10 实例三——数据窗口中按不同列查找方法 255
9.11 小结 258
9.12 习题 258
第10章 用户对象和用户事件 260
10.1 用户对象概述 260
10.2 用户对象分类 261
10.2.1 可视用户对象 261
10.2.2 类用户对象 261
10.3 创建用户对象 262
10.3.1 创建标准可视用户对象 263
10.3.2 创建自定义可视用户对象 264
10.3.3 创建外部可视用户对象 268
10.3.4 创建标准类用户对象 269
10.3.5 创建自定义类用户对象 272
10.3.6 通过继承创建用户对象 274
10.4 使用用户对象 275
10.4.1 使用可视用户对象 275
10.4.2 使用类用户对象 276
10.5 窗口和用户对象通信 277
10.5.1 使用函数进行通信 277
10.5.2 使用用户事件进行通信 277
10.6 用户事件概述 278
10.6.1 定义用户事件 279
10.6.2 用户事件举例 280
10.6.3 常用用户事件ID含义 281
10.7 小结 286
10.8 习题 286
第11章 数据管道 288
11.1 数据管道概述 288
11.2 创建数据管道 289
11.2.1 通过数据管道画板创建数据管道 289
11.2.2 在数据库画板中创建数据管道 291
11.3 修改数据管道 291
11.3.1 数据管道选项 291
11.3.2 源表 292
11.3.3 目标表 293
11.4 数据管道用户对象 293
11.4.1 创建管道用户对象 293
11.4.2 管道用户对象属性 294
11.4.3 数据管道用户对象事件 295
11.4.4 数据管道用户对象函数 295
11.5 数据管道应用实例 297
11.6 小结 301
11.7 习题 302
第12章 API调用 303
12.1 API相关概念 303
12.1.1 API的定义 303
12.1.2 API的组成 304
12.1.3 动态链接库 304
12.2 PowerBuilder中API的调用方法 305
12.2.1 API函数声明 305
12.2.2 数据类型转换 307
12.2.3 参数传递 307
12.3 常见API调用 309
12.4 API调用实例 319
12.4.1 创建多边形的窗口 320
12.4.2 操作窗口示例 321
12.4.3 用户自定义外部函数的调用示例 322
12.5 小结 324
12.6 习题 324
第13章 应用程序的调试、编译与发行 326
13.1 错误类型 326
13.1.1 语法错误 326
13.1.2 运行错误 327
13.1.3 逻辑错误 328
13.2 应用程序的调试 328
13.2.1 调试画板 328
13.2.2 设置断点 329
13.2.3 调试运行 330
13.2.4 应用程序的调试示例 330
13.3 应用程序的编译 332
13.3.1 工程编译画板 332
13.3.2 应用程序的编译示例 334
13.4 应用程序的发布 337
13.4.1 发布应用程序应考虑的因素 337
13.4.2 PowerBuilder运行库文件 337
13.5 小结 338
13.6 习题 338
参考文献 340