第1章 PowerBuilder简介 1
1.1 PowerBuilder概述 1
1.1.1 事件驱动的应用程序 2
1.1.2 功能强大的编程语言与函数 2
1.1.3 面向对象的编程 3
1.1.4 跨平台开发 3
1.1.5 开放的数据库连接系统 3
1.2.1 菜单 4
1.2 PowerBuilder开发环境 4
1.2.2 工具栏 7
1.2.3 工作区 9
1.3 PowerBuilder的面向对象特性与PowerBuilder编程 10
1.3.1 数据抽象性、继承性和多态性 10
1.3.2 属性、事件和函数 11
1.4 PowerBuilder应用程序开发步骤 12
1.5 PowerBuilder7的新特性 13
1.5.1 全新的用户接口和开发界面 13
1.5.2 支持开发和配置更多类型的组件 15
1.5.4 其他新特性 16
1.5.3 数据库连接新特性 16
1.5.5 PowerBuilder7附带的软件工具 17
第2章 PowerBuilder编程 18
2.1 PowerScript编程语言 18
2.1.1 标识符、代词和保留字 18
2.1.2 数据类型 21
2.2 声明 24
2.2.1 变量 24
2.2.2 常量 25
2.2.3 数组 25
2.2.4 外部函数 26
2.2.5 DBMS存储过程 27
2.3 运算符和表达式 27
2.3.1 算术运算符 28
2.3.2 关系运算符 28
2.3.3 逻辑运算符 29
2.3.4 连接运算符 29
2.3.5 运算符的优先级 30
2.3.6 表达式 30
2.4 基本语句 31
2.4.1 赋值语句 31
2.4.2 条件控制语句 32
2.4.3 循环控制语句 34
2.4.4 其他语句 37
2.5 函数与事件的调用 38
2.5.1 寻找事件和函数 39
2.5.2 调用事件和函数 39
2.5.3 调用函数和事件的错误 42
2.6 函数和结构的创建 43
2.6.1 创建函数 43
2.6.2 编译和保存函数 48
2.6.3 创建结构 50
第3章 嵌入式SQL和BLOB类型 53
3.1 SQL语句 53
3.1.1 建立和断开与数据库的连接 54
3.1.2 提交与回滚事务 54
3.1.3 单行检索语句SELECT 55
3.1.4 插入语句INSERT 55
3.1.5 删除语句DELETE 56
3.1.6 修改语句UPDATE 56
3.1.7 检查SQL语句执行情况 56
3.1.8 读取多行数据 57
3.1.9 动态SQL 59
3.1.10 SELECTBLOB语句 63
3.1.11 UPDATEBLOB语句 63
3.2 粘贴SQL语句 64
3.2.1 粘贴SELECT语句 64
3.2.2 粘贴INSERT语句 68
3.3 BLOB数据类型 68
3.3.1 何种数据类型可以在PowerScript中与BLOB数据类型相对应 69
3.3.2 在数据窗口中使用OLE列 69
3.4.1 使用OLEActivate函数 71
3.4 对OLE列的更新 71
3.4.2 使用OLE方式对BLOB进行操作 72
3.4.3 其他BLOB字段的函数 73
第4章 数据库的管理 75
4.1 PowerBuilder的数据库接口及其与数据库的连接 75
4.1.1 ODBC接口 75
4.1.2 配置ODBC数据源 76
4.1.3 创建数据库描述文件 79
4.1.4 专用接口 81
4.2 创建和删除数据库 82
4.2.1 PowerBuilder中信息的存储位置 82
4.2.2 创建数据库 83
4.2.3 删除数据库 85
4.3 数据库画板 85
4.3.1 启动数据库画板 85
4.3.2 数据库画板的功能 86
4.3.3 数据库画板的组成 87
4.4 操作数据库表 89
4.4.1 创建、修改和删除列 89
4.4.2 定义列扩展属性 90
4.4.3 创建索引和主关键字 92
4.4.4 删除表、主键、外部键与索引 93
4.4.5 定义表属性 94
4.5 表数据的浏览、修改和输出 94
4.5.1 输出视图区及基本操作 94
4.5.2 数据的修改 96
4.5.3 创建视图 96
4.6 定义数据库扩展属性 98
4.6.1 显示格式的维护 98
4.6.2 显示掩码的格式 100
4.6.3 编辑风格的维护 102
4.6.4 创建有效性规则 103
第5章 创建PowerBuilder应用程序对象 107
5.1 应用程序组成 107
5.2 应用程序对象画板 108
5.2.1 应用程序对象画板的菜单和工具栏 108
5.2.2 应用程序对象工作区 112
5.3 应用程序的属性、事件和函数 113
5.3.1 应用程序对象的属性 113
5.3.2 应用程序对象的事件 116
5.3.3 应用程序对象的函数 116
5.3.4 应用程序错误对象 117
5.4 应用程序配置参数 118
5.4.1 应用程序初始化文件 118
5.4.2 应用程序注册表 119
5.4.3 应用程序开发涉及到的主要注册表主键 120
5.4.4 PowerBuilder的注册表函数 121
5.5 事务对象及其应用 123
5.5.1 事务对象的概念 123
5.5.2 创建自定义事务对象 124
5.5.3 事务对象的属性 125
6.1.1 窗口画板的菜单 127
6.1 窗口画板 127
第6章 PowerBuilder窗口对象 127
6.1.2 窗口画板的工具栏 128
6.1.3 窗口画板的视图区 128
6.2 窗口的属性 129
6.2.1 窗口类型 129
6.2.2 MDI框架窗口 131
6.2.3 其他窗口属性 132
6.2.4 窗口的大小和位置 133
6.3.1 打开窗口的Open事件 135
6.3 窗口事件 135
6.3.2 激活窗口的Active事件 136
6.3.3 单击窗口的Clicked事件 136
6.3.4 关闭窗口的Close事件 137
6.3.5 关闭窗口时的CloseQuery事件 137
6.3.6 按键时的Key事件 138
6.3.7 窗口右击时的RButtonDown事件 138
6.3.8 计时的Timer事件 139
6.3.9 窗口的Other事件 140
6.4 窗口的函数 140
6.4.1 窗口的操作 141
6.4.2 MDI窗口具有的操作 145
6.4.3 窗口事件的自动化 148
6.5 窗口变量 149
6.5.1 定义全局窗口变量和局部窗口变量 150
6.5.2 新窗口也是一个类 150
第7章 窗口控件及简单窗口控件的应用 152
7.1 为窗口添加控件 152
7.1.1 控件概述 152
7.1.2 窗口控件的添加 154
7.1.3 窗口控件的选择 154
7.1.4 窗口控件的复制 155
7.1.5 窗口控件的布局 156
7.2 控件属性、事件和函数 159
7.2.1 设置控件属性方法 159
7.2.2 控件名称 161
7.2.3 控件事件及其脚本 164
7.2.4 控件函数 164
7.3 几个重要的简单窗口控件的应用 166
7.3.1 命令按钮 166
7.3.2 文本编辑及显示控件 168
7.3.3 单选按钮、复选框与单选组 171
7.3.4 修饰性控件 173
8.1 各种列表框 178
8.1.1 列表框和图片列表框 178
第8章 高级窗口控件的应用 178
8.1.2 下拉列表框和下拉图片列表框 182
8.2 列表视图 183
8.2.1 列表视图控件风格 183
8.2.2 列表视图控件属性 184
8.2.3 为列表视图添加和删除列表项 186
8.2.4 列表视图控件的事件 190
8.3.1 树形视图的构成与创建步骤 191
8.3 树形视图 191
8.3.2 树形视图控件的属性 192
8.3.3 树形视图项的属性 193
8.3.4 添加树形视图项 193
8.3.5 删除树形视图项 194
8.3.6 树形视图控件的常用事件 195
8.4 选项卡控件 197
8.4.1 选项卡控件的组成 197
8.4.2 为窗口添加选项卡控件及操作选项卡控件 197
8.4.3 选项卡控件的属性 199
8.4.4 选项卡控件的使用 202
8.4.5 选项卡控件的事件 203
8.5 OLE控件 204
第9章 菜单 208
9.1 菜单类型及命令的特点 208
9.2 创建和修改菜单 209
9.2.1 菜单画板功能 209
9.2.2 创建新菜单 210
9.2.3 修改菜单 212
9.3.1 General选项卡 213
9.3 设置菜单属性 213
9.3.2 TOOlBar选项卡 214
9.4 创建弹出式菜单 215
9.4.1 弹出窗口上的菜单 215
9.4.2 弹出其他菜单 216
9.5 菜单事件及其编程 217
9.5.1 菜单事件及其处理程序的编写 217
9.5.2 创建通用的弹出式菜单 217
第10章 数据窗口简介 221
10.1 数据窗口概念 221
10.2 数据窗口对象与控件 222
10.2.1 数据窗口对象 223
10.2.2 数据窗口控件 224
1O.3 创建数据窗口 224
10.3.1 数据窗口的创建 224
10.3.2 数据源与表现风格 224
10.3.3 创建一个新的数据窗口 225
10.4 数据窗口数据源 229
10.4.1 Quick Select数据源 229
10.4.2 SQL Select数据源 231
10.4.4 External数据源 234
10.4.3 Query数据源 234
10.4.5 Stored Procedure数据源 235
10.5 数据窗口的表现风格 236
10.5.1 Freeform风格 236
10.5.2 Tabular风格 236
10.5.3 Grid风格 237
10.5.4 Label风格 238
10.5.5 N—UP风格 239
10.5.6 Group风格 239
10.5.7 Composite风格 239
10.5.8 Crosstab风格 240
10.5.9 Graph风格 241
10.5.10 OLE2.0风格 242
10.5.11 RichText风格 242
第11章 数据窗口的应用 243
11.1 建立数据窗口控件与数据窗口对象的连接 243
11.1.1 带有DBMS数据源的数据窗口 243
11.1.2 带有外部数据源的数据窗口 244
11.1.3 向窗口添加数据窗口控件 244
11.1.4 对窗口中数据窗口控件的编辑 245
11.1.6 执行中改变数据窗口对象 246
11.1.5 建立数据窗口控件与数据窗口对象的连接 246
11.1.7 设置数据窗口的属性 247
11.2 数据窗口控件与数据库 249
11.2.1 事务对象 249
11.2.2 事务对象的属性 250
11.2.3 为数据窗口控件设置事务对象 250
11.2.4 创建事务对象 251
11.2.5 自定义事务对象 252
11.2.6 使用数据窗口检索数据库的过程 253
11.2.7 检索和更新数据 253
11.3.1 通过数据窗口控件管理数据 255
11.3 访问数据窗口缓冲区的内容 255
11.3.2 处理数据窗口控件中的文本数据 256
11.4 数据窗口项的引用 258
11.4.1 使用表达式引用数据窗口项 258
11.4.2 使用函数访问数据窗口项 259
11.5 数据窗口事件 261
11.5.1 ButtonClicked事件 261
11.5.2 Clicked事件 261
11.6 数据存储 262
11.6.1 使用数据存储对象 262
11.6.2 数据存储对象的方法和属性 263
11.6.3 定制数据存储对象 264
11.7 创建数据窗口应用程序 264
11.7.1 使用应用程序画板创建应用程序对象 265
11.7.2 创建数据窗口对象 266
11.7.3 创建主窗口对象并在窗口上放置数据窗口控件 268
11.7.4 创建其他窗口控件 268
11.7.5 为窗口控件编写程序代码 269
第12章 用户对象和用户事件 271
12.1 用户对象分类 271
12.1.1 可视用户对象 272
12.1.2 类用户对象 273
12.2 创建用户对象 274
12.2.1 创建标准可视用户对象 275
12.2.2 创建定制可视用户对象 276
12.2.3 创建外部可视用户对象 276
12.2.4 创建标准类用户对象 277
12.2.5 创建定制类用户对象 277
12.2.6 使用继承创建用户对象 278
12.3 使用用户对象 278
12.3.1 使用可视用户对象 278
12.3.2 使用类用户对象 279
12.3.3 窗口与用户对象间的通信 280
12.3.4 用户对象的命名规则 281
12.4 用户事件 281
12.4.1 什么时候使用用户事件 281
12.4.2 定义用户事件 282
12.4.3 定义用户事件的注意事项 284
12.4.4 使用用户事件 284
第13章 数据管道 286
13.1 数据管道的概念 286
13.2.1 启动数据管道画板 287
13.2 创建数据管道对象 287
13.2.2 源表 289
13.2.3 目的表 290
13.2.4 选择管道操作 290
13.2.5 灌人Blob类型的数据 291
13.2.6 改变源数据库和目的数据库 293
13.2.7 运行数据管道 293
13.2.8 数据管道出错处理 293
13.3 在应用程序中使用数据管道 294
13.3.1 创建数据管道用户对象 295
13.3.2 数据管道用户对象的属性 296
13.3.3 数据管道的事件 297
13.3.4 数据管道的函数 297
第14章 库管理 300
14.1 库文件组织方式 300
14.2 库画板介绍 301
14.2.1 库画板的工具 301
14.2.2 库画板工作区 302
14.2.3 库画板的菜单 303
14.3.1 维护库 306
14.3 维护库文件以及其中的对象 306
14.3.2 维护库中对象 308
14.3.3 导出与导入对象 310
14.3.4 对象的检出与检入 311
14.3.5 重新生成对象 312
第15章 应用程序的调试、创建及发布 314
15.1 应用程序的调试 314
15.1.1 应用程序测试过程 314
15.1.2 调试器界面 316
15.1.3 断点设置 318
15.1.4 调试过程 322
15.2 其他调试手段 324
15.2.1 运用PowerBuilderDEBUG功能 324
15.2.2 追踪数据库访问 325
15.2.3 其他调试技术 326
15.3 应用程序的创建 327
15.3.1 创建可执行文件的一般步骤 328
15.3.2 创建可执行文件时要考虑的问题 330
15.4 应用程序的发布 332
15.4.1 PowerBuilder运行时库及数据库接口 332
15.4.2 配置ODBC数据源 333