本书以PowerBuilder 12.5为平台,内容包含PowerBuilder实用教程、习题、上机操作指导和综合应用实习共四个部分。实用教程在介绍PowerBuilder开发环境的基础上,系统地介绍PowerScript语言、窗口及窗口控件、创建数据库、数据窗口及数据窗口控件、高级窗口控件、用户自定义事件、选单、自定义函数和结构、SQL语句、游标、用户自定义对象、数据管道、PBL库管理器等知识。教程实例更加系统,配套更加完备,前后既独立又有联系。章节有小综合,最后有一个大综合。习题主要用于训练基本概念。实验部分着重训练配套的基本内容和操作方法,实验内容既是一个应用题又是一个开发题。最后的大综合应用PowerBuilder解决一个小规模实际问题。本书配备同步电子课件、每一章应用实例源文件、每一个实验实例源文件、综合应用实习源文件,需要的读者可在华信教育资源网上下载,网址是www.hxedu.com.cn。
郑阿奇,南京师范大学计算机科学与技术学院,副教授,东南大学本科,曾任计算机软件系主任,获选南京师范大学教学名师培养人选。主编5套计算机系列教材,获教育部优秀教材二等奖、电子部优秀教材二等奖、两次获江苏省优秀教学成果二等奖、江苏省畅销图书编辑二等奖、全国高校出版社优秀畅销书二等奖、两次获南京师范大学优秀教学成果一等奖、南京师范大学精品教材一等奖。参加主持国家八六三计划子项目、江苏省科技开发项目,主持南京市科技开发项目、泰州市科委项目、金陵石化公司项目,获江苏省优秀软件奖,江苏省科技进步奖、南京市创新成果奖。获国家发明专利和实用新型专利20多个。
目 录
第1部分 PowerBuilder实用教程
第1章 PowerBuilder Classic 12.5开发环境 1
1.1 集成开发环境简介 1
1.1.1 PowerBuilder的基本概念 1
1.1.2 主窗口 2
1.2 简单应用程序实例 6
1.2.1 带窗口的简单应用程序 6
1.2.2 无窗口的简单应用程序 9
第2章 PowerScript语言 11
2.1 PowerScript基础 11
2.1.1 注释 11
2.1.2 标识符 11
2.1.3 续行符 12
2.1.4 特殊字符 12
2.1.5 空值 13
2.2 数据类型 13
2.2.1 标准数据类型 13
2.2.2 枚举类型 14
2.3 变量声明及作用域 14
2.3.1 变量声明 14
2.3.2 数组的声明 15
2.3.3 变量作用域 15
2.4 运算符及表达式 16
2.4.1 算术运算符 16
2.4.2 关系运算符 17
2.4.3 逻辑运算符 17
2.4.4 连接运算符 17
2.4.5 运算符的优先级 18
2.5 PowerScript语句 18
2.5.1 赋值语句 18
2.5.2 分支语句 18
2.5.3 循环语句 20
2.5.4 GOTO语句 24
2.6 常用的标准函数 24
2.6.1 MessageBox()函数 24
2.6.2 Open()函数 25
2.6.3 Close()函数 25
2.6.4 Run()函数 25
2.7 编辑代码 26
2.8 应用程序编程实例 27
第3章 窗口 31
3.1 创建新的窗口对象 31
3.1.1 创建窗口对象的过程 31
3.1.2 窗口的继承 31
3.1.3 窗口画板 32
3.1.4 预览窗口 33
3.2 窗口属性 33
3.2.1 窗口的类型和基本属性 34
3.2.2 窗口的滚动属性 35
3.2.3 应用程序窗口的工具栏 36
3.2.4 窗口的其他属性页 37
3.3 窗口函数 37
3.3.1 系统窗口函数 37
3.3.2 用户自定义窗口函数 39
3.4 窗口事件 41
3.5 窗口编程 43
第4章 窗口控件 46
4.1 窗口控件的种类 46
4.2 向窗口添加控件 48
4.2.1 添加窗口控件 48
4.2.2 选中窗口控件 49
4.2.3 删除窗口控件 49
4.2.4 复制窗口控件 49
4.3 窗口控件的布局调整 50
4.3.1 齐整性操作 50
4.3.2 窗口控件的【Tab】键顺序 52
4.4 窗口控件的通用属性 53
4.5 常用的窗口控件 55
4.5.1 选项卡 55
4.5.2 命令按钮与图像按钮 58
4.5.3 单选按钮、复选框与分组框 60
4.5.4 静态文本与图片 62
4.5.5 单行编辑框与多行编辑框 63
4.5.6 编辑掩码控件 66
4.6 常用的窗口控件编程实例 67
4.6.1 创建窗口应用程序和基本窗口 68
4.6.2 通过窗口继承创建新窗口1 70
4.6.3 通过窗口继承创建新窗口2 75
4.6.4 通过窗口1进入窗口2 82
第5章 创建数据库 84
5.1 数据库概述 84
5.2 数据库画板 85
5.3 配置ASA数据库 86
5.4 配置ODBC数据源 87
5.5 配置DB Profile 88
5.6 数据库的连接与断开 89
5.7 创建表 89
5.7.1 创建新表 89
5.7.2 定义表结构 90
5.7.3 删除表 91
5.7.4 创建主键、索引和外键 92
5.7.5 删除主键、索引和外键 94
5.7.6 定义列的扩展属性 95
5.8 数据的输入 95
5.8.1 利用图形界面输入数据 95
5.8.2 利用嵌入式SQL命令输入数据 96
5.9 视图 100
第6章 数据窗口 102
6.1 数据窗口初步 102
6.1.1 创建数据窗口对象 103
6.1.2 创建数据窗口控件 105
6.1.3 数据库操作编程 106
6.1.4 连接数据库编程实例 107
6.2 数据源 110
6.2.1 快速选择数据源 110
6.2.2 SQL选择数据源 110
6.2.3 查询数据源 115
6.2.4 外部数据源 116
6.2.5 存储过程数据源 117
6.3 数据窗口的显示风格 118
6.3.1 显示风格的种类和特点 119
6.3.2 各种风格的数据窗口的创建 120
6.4 数据窗口画板 127
6.4.1 数据窗口画板的组成 127
6.4.2 定制数据窗口画板 129
6.5 设计数据窗口对象 130
6.5.1 数据窗口对象中字段标签的属性 130
6.5.2 数据窗口对象中字段的属性 130
6.5.3 【Tab】键的跳转次序 134
6.5.4 查询结果中重复值的压缩 134
6.5.5 数据窗口对象的有效性检验 135
6.5.6 数据窗口对象的排序 135
6.5.7 数据窗口对象的过滤 135
6.5.8 数据窗口对象中数据的导出和导入 136
6.5.9 在数据窗口中使用条件位图 137
6.6 数据窗口对象编程实例 138
第7章 数据窗口控件 142
7.1 配置数据窗口控件 143
7.2 数据窗口控件属性 143
7.3 数据窗口控件事务对象 144
7.4 数据窗口控件的函数 147
7.5 数据窗口控件的事件 154
7.6 数据窗口编程 156
7.7 数据窗口编程实例 157
第8章 高级窗口控件 162
8.1 列表框类控件 162
8.1.1 列表框控件常用属性、事件和函数 163
8.1.2 列表框控件编程实例 165
8.2 列表视图控件与树状视图控件 167
8.2.1 列表视图控件 167
8.2.2 列表视图控件编程实例 170
8.2.3 树状视图控件 173
8.2.4 树状视图控件编程实例 176
8.3 统计图控件 178
8.3.1 统计图控件的结构 178
8.3.2 统计图控件的种类 178
8.3.3 统计图控件的属性 179
8.3.4 统计图控件的函数 182
8.3.5 统计图控件的编程 184
8.3.6 统计图控件编程实例 186
8.4 水平进度条控件与垂直进度条控件 187
8.4.1 水平进度条控件与垂直进度条控件介绍 187
8.4.2 水平进度条控件编程实例 188
8.5 水平跟踪条控件与垂直跟踪条控件 190
8.6 水平滚动条控件与垂直滚动条控件 191
8.6.1 水平滚动条控件与垂直滚动条控件介绍 191
8.6.2 水平滚动条控件与垂直滚动条控件编程实例 192
8.7 “RichText”编辑框控件 193
8.7.1 “RichText”编辑框控件介绍 193
8.7.2 “RichText”编辑框控件编程实例 195
8.8 静态文本超链接控件与图片超链接控件 196
8.9 OLE控件 197
8.9.1 OLE控件介绍 197
8.9.2 OLE控件编程实例 198
第9章 用户自定义事件 201
9.1 定义用户事件 201
9.2 用户事件号 202
9.3 删除用户事件 205
9.4 触发用户事件 206
9.5 用户事件编程实例 207
第10章 选单 211
10.1 创建选单 211
10.1.1 选单术语 211
10.1.2 选单的设计原则 211
10.1.3 选单的种类 212
10.1.4 选单画板 212
10.1.5 创建选单对象 213
10.2 选单属性 215
10.3 选单事件 217
10.4 弹出式选单 217
10.5 选单的函数 218
10.6 选单与窗口的关联 219
10.7 选单编程实例 219
第11章 自定义函数和结构 222
11.1 自定义全局函数 222
11.1.1 创建自定义全局函数 222
11.1.2 修改自定义全局函数 223
11.1.3 删除自定义全局函数 224
11.2 自定义对象函数 224
11.2.1 创建自定义对象函数 224
11.2.2 修改自定义对象函数 225
11.2.3 删除自定义对象函数 225
11.3 外部函数 227
11.3.1 外部函数的定义 227
11.3.2 外部函数的调用 228
11.3.3 外部函数使用实例 228
11.4 结构 229
11.4.1 定义全局结构 229
11.4.2 定义对象层结构 230
11.4.3 使用结构 231
11.4.4 删除结构 231
第12章 SQL语句 233
12.1 嵌入式SQL语句 233
12.1.1 Select语句 233
12.1.2 Insert语句 234
12.1.3 Update语句 234
12.1.4 Delete语句 235
12.2 动态SQL语句 235
12.2.1 类型一:固定操作表结构和记录 235
12.2.2 类型二:动态操作表结构和记录 236
12.2.3 类型三:固定查询 236
12.2.4 类型四:动态查询 237
第13章 游标 240
13.1 声明游标 240
13.2 打开游标 240
13.3 提取数据 241
13.4 关闭游标 241
13.5 使用条件子句 242
13.6 编程实例 242
第14章 用户自定义对象 244
14.1 可视用户对象 244
14.1.1 创建标准可视用户对象 244
14.1.2 使用可视用户对象 246
14.1.3 修改用户对象 247
14.1.4 创建定制可视用户对象 247
14.1.5 创建外部可视用户对象 248
14.2 类用户对象 249
14.2.1 创建标准类用户对象 249
14.2.2 使用类用户对象 249
14.2.3 创建定制类用户对象 250
14.3 用户对象使用编程实例 250
第15章 数据管道 255
15.1 创建数据管道 255
15.1.1 在数据库画板中创建数据管道 255
15.1.2 创建数据管道对象 258
15.1.3 打开和修改数据管道 258
15.1.4 删除数据管道 259
15.2 数据管道对象的属性、事件和函数 259
15.2.1 数据管道的属性 260
15.2.2 数据管道的事件 260
15.2.3 数据管道的函数 260
15.3 数据管道编程实例 262
第16章 PBL库管理器 267
16.1 Library库画板 267
16.1.1 “Library”工作区 267
16.1.2 库画板工具栏 267
16.1.3 库画板选单 268
16.2 库画板应用 270
16.2.1 创建PBL文件 270
16.2.2 一个简单的Web程序 270
16.2.3 编辑对象 271
16.2.4 复制对象 271
16.2.5 移动对象 271
16.2.6 删除对象 271
16.3 可执行文件 272
16.3.1 应用程序的搜索路径 272
16.3.2 生成可执行文件 272
16.3.3 在Windows环境下运行 273
第2部分 习 题
E.1 PowerBuilder Classic 12.5开发环境 275
E.2 PowerScript语言 275
E.3 窗口 275
E.4 窗口控件 276
E.5 创建数据库 277
E.6 数据窗口 278
E.7 数据窗口控件 278
E.8 高级窗口控件 279
E.9 用户自定义事件 280
E.10 选单 281
E.11 自定义函数和结构 281
E.12 SQL语句 282
E.13 游标 282
E.14 用户自定义对象 282
E.15 数据管道 282
E.16 PBL库管理器 283
?
第3部分 上机操作指导
T.1 PowerBuilder Classic 12.5集成开发环境 284
T.2 PowerScript语言与事件脚本 287
T.3 窗口与常用控件编程(一) 288
T.4 数据库的创建与连接 289
T.5 窗口与常用控件编程(二) 294
T.6 窗口与常用控件编程(三) 296
T.7 数据窗口的编程(一) 301
T.8 数据窗口的编程(二) 305
T.9 数据窗口的编程(三) 308
T.10 OLE控件的编程 315
T.11 用户自定义事件 319
T.12 选单的使用 322
T.13 游标的使用 325
第4部分 综合应用实习
P.1 系统分析和设计 329
P.2 创建窗口及代码实现 330
P.3 系统测试 354
P.4 软件部署 354
P.5 如何访问SQL Server数据库 356
附 录
附录A PowerBuilder应用程序的调试 358
A.1 使用调试画板 358
A.1.1 进入调试画板 358
A.1.2 调试步骤 359
A.2 使用“PBDebug” 363
A.2.1 生成不包含计时器值的文本跟踪文件“.dbg” 363
A.2.2 生成包含计时器值的跟踪文件“.pbp” 364
A.2.3 使用跟踪函数 366
附录B PowerBuilder常用函数 368