第1章 PowerBulder概述 1
1.1 PowerBuilder简介 1
1.1.1 PowerBuilder的功能特点 2
1.1.2 PowerBuilder 9.0的新特性 3
1.2 PowerBuilder 9.0集成开发环境 5
1.2.1 启动和退出PowerBuilder 9.0 5
1.2.2 PowerBuilder的主窗口 6
1.2.3 PowerBuilder的主菜单和主工具条 7
1.2.4 PowerBuilder的画板 8
1.2.5 调整PowerBuilder开发环境布局 10
1.2.6 使用联机帮助 12
1.3 PowerBuilder 9.0应用系统的组成 13
1.3.1 工作空间和目标 13
1.3.2 对象 14
1.3.3 事件和脚本 14
1.4 开发一个简单应用程序 15
1.4.1 程序简介 15
1.4.2 新建一个工作空间 15
1.4.3 新建一个应用对象 16
1.4.4 创建窗口对象 16
1.4.5 添加应用对象的事件脚本 18
1.5 小结 18
1.6 实训 18
1.7 习题 20
第2章 数据库 21
2.1 PowerBuilder与数据库的接口 21
2.2 创建ASA数据库 23
2.2.1 使用Database Painter创建数据库 23
2.2.2 使用Sybase Central创建数据库 27
2.2.3 删除数据库 30
2.3 创建ODBC数据源和配置Db Profile 31
2.3.1 创建ODBC数据源 31
2.3.2 配置DB Profile 34
2.4 连接数据库 36
2.5 创建数据库表 37
2.5.1 创建数据库表 37
2.5.2 设置表和列的属性 39
2.5.3 创建主键、外键和索引 42
2.6 操纵数据 48
2.6.1 浏览数据 49
2.6.2 编辑数据 49
2.6.3 排序和过滤 49
2.7 视图 51
2.7.1 创建视图 52
2.7.2 删除视图 54
2.8 数据库安全性的管理 54
2.8.1 用户和用户组 55
2.8.2 定义表的访问权限 59
2.9 小结 60
2.10 实训 60
2.11 习题 62
第3章 PowerScript编程语言 63
3.1 PowerScript语言基础 63
3.1.1 书写规则 63
3.1.2 标识符 64
3.1.3 注释 65
3.1.4 续行符 65
3.1.5 空值 65
3.1.6 常用代词 66
3.2 数据类型 67
3.2.1 标准数据类型 67
3.2.2 枚举类型 68
3.2.3 系统对象类型 68
3.3 变量和常量 68
3.3.1 变量 69
3.3.2 变量的作用域 70
3.3.3 常量 72
3.4 运算符与表达式 73
3.4.1 算术运算符 73
3.4.2 关系运算符 73
3.4.3 逻辑运算符 74
3.4.4 连接运算符 74
3.4.5 运算符的优先级 74
3.5 PowerScript语句 75
3.5.1 赋值语句 75
3.5.2 条件控制语句 76
3.5.3 循环控制语句 78
3.5.4 GOTO语句 82
3.5.5 HALT语句 82
3.5.6 RETURN语句 82
3.6 嵌入式SQL语句 82
3.6.1 连接语句 83
3.6.2 事务处理语句 84
3.6.3 数据库操作语句 84
3.6.4 游标语句 86
3.6.5 Blob列操作语句 89
3.6.6 存储过程语句 89
3.6.7 SQLCode 90
3.6.8 编程举例 91
3.7 数组 92
3.7.1 定义数组 92
3.7.2 使用数组 93
3.8 结构 93
3.8.1 定义结构 94
3.8.2 使用结构 96
3.9 面向对象编程 96
3.9.1 类和对象的概念 96
3.9.2 继承、封装、重载和多态性 97
3.9.3 属性、事件和函数 98
3.9.4 实现面向对象的编程 99
3.10 函数 100
3.10.1 系统函数 100
3.10.2 用户定义函数 106
3.11 小结 108
3.12 实训 108
3.13 习题 110
第4章 应用对象 112
4.1 创建应用对象 112
4.1.1 应用的基本概念 112
4.1.2 创建新工作空间 113
4.1.3 创建目标、应用库及应用对象 114
4.1.4 应用对象的存储结构 115
4.1.5 应用对象画板 116
4.1.6 运行应用 117
4.2 设置应用对象的属性 117
4.2.1 【Properties】窗口 117
4.2.2 设置应用对象的主要属性 119
4.3 为应用对象添加事件脚本 120
4.3.1 应用的Open事件 121
4.3.2 应用的Close事件 121
4.3.3 应用的System Error事件 121
4.3.4 应用的Idle事件 122
4.4 使用【Script】视窗 122
4.4.1 【Script】视窗 122
4.4.2 粘贴函数 123
4.4.3 粘贴SQL语句 123
4.4.4 粘贴语句 125
4.4.5 将脚本代码行设为注释 125
4.4.6 粘贴窗口和对象名称 126
4.4.7 导入文本文件 126
4.5 小结 127
4.6 实训 127
4.7 习题 128
第5章 窗口对象 129
5.1 创建窗口对象 129
5.1.1 创建窗口 129
5.1.2 窗口画板 130
5.1.3 预览窗口 130
5.2 设置窗口对象的属性 131
5.2.1 窗口的类型 131
5.2.2 窗口的主要属性 132
5.2.3 窗口的工具栏 134
5.2.4 窗口的其他属性 135
5.3 窗口函数 135
5.3.1 PowerBuilder的窗口函数 135
5.3.2 用户自定义窗口函数 136
5.4 窗口事件 137
5.4.1 Activate事件 138
5.4.2 Open事件 138
5.4.3 Clicked事件 138
5.4.4 Close事件 138
5.4.5 CloseQuery事件 139
5.4.6 DoubleClicked事件 139
5.4.7 Resize事件 139
5.4.8 SystemKey事件 139
5.4.9 Timer事件 139
5.4.10 RButtonDown事件 139
5.5 窗口控件 139
5.5.1 向窗口添加控件 140
5.5.2 设置控件的属性 142
5.5.3 调整控件的布局 144
5.6 常用的窗口控件 145
5.6.1 图形类控件 145
5.6.2 静态文本控件与图片控件 146
5.6.3 单选按钮、复选框与分组框 147
5.6.4 编辑类控件 149
5.6.5 按钮类控件 150
5.6.6 列表类控件 151
5.6.7 选项卡控件 153
5.6.8 数据窗口控件 155
5.6.9 用户对象控件 156
5.6.10 常用的窗口控件编程实例 157
5.7 窗口的继承 158
5.7.1 通过继承创建窗口 159
5.7.2 继承窗口的修改 160
5.7.3 继承窗口的事件脚本 160
5.8 小结 160
5.9 实训 161
5.10 习题 164
第6章 菜单对象 165
6.1 创建菜单对象 165
6.1.1 打开菜单画板 165
6.1.2 创建菜单项 167
6.1.3 编辑菜单 170
6.1.4 设置菜单项属性 171
6.2 为菜单事件编写脚本 173
6.2.1 菜单事件 173
6.2.2 菜单函数 174
6.2.3 为菜单事件编写脚本 175
6.3 窗口与菜单的关联 178
6.3.1 窗口与菜单的静态关联 178
6.3.2 窗口与菜单的动态关联 178
6.4 弹出式菜单 179
6.4.1 关联于窗口的弹出式菜单 179
6.4.2 无关联窗口的弹出式菜单 179
6.5 菜单的继承 180
6.5.1 通过继承创建菜单 180
6.5.2 继承菜单的修改 181
6.5.3 查看“祖先”菜单脚本 181
6.5.4 查看菜单的继承层次 182
6.6 小结 182
6.7 实训 183
6.8 习题 184
第7章 数据窗口对象 185
7.1 创建数据窗口对象 185
7.2 数据窗口的数据源 187
7.2.1 Quick Select(快速选择数据源) 187
7.2.2 SQL Select(SQL选择数据源) 188
7.2.3 Query(查询数据源) 193
7.2.4 External(外部数据源) 195
7.2.5 Stored Procedure(存储过程数据源) 195
7.3 数据窗口的显示风格 196
7.3.1 Freeform显示风格 197
7.3.2 Grid显示风格 197
7.3.3 Graph显示风格 197
7.3.4 Composite数据窗口 198
7.3.5 Crosstab显示风格 199
7.3.6 Group显示风格 199
7.3.7 Label显示风格 200
7.3.8 N-up显示风格 200
7.3.9 OLE2.0显示风格 201
7.3.10 RichText显示风格 202
7.3.11 Tabular显示风格 202
7.4 数据窗口画板 203
7.4.1 数据窗口的几个区域 203
7.4.2 设置数据窗口对象的属性 207
7.4.3 向数据窗口中添加对象 209
7.4.4 设置数据窗口中对象的属性 213
7.5 预览数据窗口 214
7.5.1 预览数据窗口 215
7.5.2 数据排序 215
7.5.3 数据过滤 216
7.5.4 数据的分组 217
7.5.5 去掉重复值 218
7.6 数据的显示格式 219
7.6.1 列的显示格式 219
7.6.2 列的编辑风格 220
7.6.3 数据校验 222
7.7 设置更新属性 223
7.7.1 数据窗口的更新属性 223
7.7.2 多表数据窗口的更新 224
7.8 数据窗口的编程 225
7.8.1 事务对象 225
7.8.2 为数据窗口设置事务对象 228
7.8.3 用数据窗口连接数据库 230
7.8.4 数据的缓冲区 232
7.8.5 数据窗口的常用函数 233
7.8.6 数据窗口的事件 237
7.8.7 如何标识数据窗口中数据 240
7.9 打印数据窗口 242
7.9.1 数据窗口的打印设置 242
7.9.2 预览与打印 242
7.10 统计图的使用 244
7.10.1 统计图的种类 244
7.10.2 统计图属性的定义 245
7.11 小结 247
7.12 实训 247
7.13 习题 251
第8章 用户对象和用户事件 252
8.1 用户对象分类 252
8.1.1 可视用户对象 252
8.1.2 类用户对象 253
8.2 创建用户对象 253
8.2.1 创建标准可视用户对象 253
8.2.2 创建定制可视用户对象 254
8.2.3 创建外部可视用户对象 256
8.2.4 创建标准类用户对象 256
8.2.5 创建定制类用户对象 257
8.3 使用用户对象 257
8.3.1 使用可视用户对象 257
8.3.2 使用类用户对象 258
8.4 用户对象示例 259
8.4.1 窗口与用户对象间的通讯 259
8.4.2 用户对象示例 259
8.5 用户事件 261
8.5.1 创建用户事件 261
8.5.2 删除用户事件 262
8.5.3 触发用户事件 262
8.5.4 用户事件编程实例 263
8.6 小结 264
8.7 实训 264
8.8 习题 268
第9章 应用程序的调试与发布 269
9.1 调试器介绍 269
9.1.1 打开调试器 270
9.1.2 调试器界面简介 270
9.1.3 设置调试器功能界面 273
9.2 脚本调试方法 274
9.2.1 打开要调试的脚本 274
9.2.2 设置断点 274
9.2.3 调试运行脚本 276
9.2.4 添加观察变量 277
9.3 错误处理 277
9.3.1 预见性错误处理程序 278
9.3.2 使用Try...End语句 279
9.4 发布应用程序 280
9.4.1 编译应用程序 280
9.4.2 生成可执行文件 281
9.4.3 创建发布磁盘 288
9.5 小结 296
9.6 实训 296
9.7 习题 298
第10章 学生成绩管理系统实例 299
10.1 系统分析与设计 299
10.1.1 系统功能分析 299
10.1.2 系统功能模块设计 300
10.2 数据库设计与实现 300
10.2.1 数据库设计 300
10.2.2 创建数据库 301
10.3 创建应用对象 304
10.4 设计系统管理模块 304
10.4.1 设计登录窗口 305
10.4.2 设计密码修改窗口 306
10.4.3 设计用户管理的数据窗口和窗口 308
10.5 设计主窗口和菜单 310
10.5.1 创建菜单对象 310
10.5.2 设计主窗口 312
10.6 设计班级管理模块 313
10.6.1 设计访问班级信息的数据窗口 313
10.6.2 设计访问班级信息的窗口 314
10.7 设计学生基本信息管理模块 317
10.7.1 设计访问学生基本信息的数据窗口 318
10.7.2 设计访问学生基本信息的窗口 319
10.8 设计课程管理模块 321
10.8.1 设计访问课程信息的数据窗口 321
10.8.2 设计访问课程信息的窗口 322
10.9 设计成绩管理模块 324
10.9.1 设计访问成绩信息的数据窗口 324
10.9.2 设计访问成绩信息的窗口 327
10.10 系统的编译和发布 332
10.11 小结 333
10.12 实训 333
10.13 习题 334
参考文献 336