第1章 PowerBuilder概述 1
1.1 什么是PowerBuilder 1
1.2 PowerBuilder 8.0的安装 1
1.2.1 运行PowerBuilder环境 1
1.2.2 安装过程 1
1.3 PowerBuilder 8.0的启动和退出 7
1.3.1 PowerBuilder 8.0的启动 7
1.3.2 退出PowerBuilder 8.0 8
1.4 PowerBuilder 8.0的开发环境 8
1.4.1 工作空间和目标 8
1.4.2 PowerBuilder 8.0主窗口 9
1.4.3 工具栏 10
1.4.4 设置工具栏 12
1.4.5 画板简介 13
1.4.6 常用操作 19
第2章 PowerBuilder 8.0的编程 22
2.1 数据库应用模式 22
2.1.1 集中式应用模式 22
2.1.2 文件服务器应用模式 22
2.1.3 客户机/服务器应用模式 23
2.1.4 分布式应用模式 25
2.1.5 Web应用模式 26
2.2 面向对象的方法 27
2.2.1 面向对象的概念 27
2.2.2 PowerBuilder中的面向对象 29
2.2.3 PowerBuilder的开发方法 30
2.3 PowerBuilder编程的命名规则 31
2.4 PowerBuilder应用程序开发过程 32
2.4.1 需求分析和设计 32
2.4.2 开发 32
2.4.3 调试与测试 33
2.4.4 生成可执行文件 33
第3章 PowerScript语言 34
3.1 语言基础 34
3.1.1 注释(∥) 34
3.1.2 标识符 34
3.1.3 字母大小写 35
3.1.4 命令结束符(回车键) 35
3.1.5 行继续符(&) 35
3.1.6 标号(标识符:) 35
3.1.7 空值(null) 35
3.1.8 操作符 36
3.1.9 保留字 37
3.2 数据类型、变量和常量 38
3.2.1 标准数据类型 38
3.2.2 变量的声明 39
3.2.3 变量的作用域 40
3.2.4 常量 42
3.3 基本语句 42
3.3.1 赋值语句(=) 42
3.3.2 条件语句(if) 42
3.3.3 循环语句(loop) 44
3.3.4 流程控制语句 46
3.3.5 调用语句(call) 48
3.4 嵌入式SQL 49
3.4.1 数据库连接语句connect 49
3.4.2 数据库断开语句disconnect 49
3.4.3 事务提交语句commit 49
3.4.4 事务取消语句rollback 50
3.4.5 选择语句select 50
3.4.6 插入语句insert 51
3.4.7 删除语句delete 51
3.4.8 更新语句update 52
3.5 常用函数 52
3.5.1 messageBox()函数 52
3.5.2 open()和close() 53
3.5.3 IS族函数 53
3.5.4 类型转换函数 54
3.5.5 关键字trigger 54
3.6 常用代词 54
3.6.1 this代词 54
3.6.2 parent代词 55
3.6.3 parentwindow代词 55
第4章 应用对象 56
4.1 什么是应用 56
4.2 创建应用对象 56
4.2.1 创建新工作区 56
4.2.2 创建新应用 57
4.3 设置应用对象的属性 58
4.4 编写应用对象脚本 60
4.4.1 打开脚本编写窗口 60
4.4.2 选择事件和对象 61
4.4.3 编写应用对象的脚本 61
第5章 数据库 63
5.1 数据库基础知识 63
5.1.1 行(Row) 63
5.1.2 列(Column) 63
5.1.3 数据类型(Type) 63
5.1.4 主键(Primary Key) 64
5.1.5 外键(Foreign Key) 64
5.1.6 索引(Index) 64
5.1.7 视图(View) 65
5.2 创建和删除本地数据库 65
5.2.1 创建本地数据库 65
5.2.2 删除本地数据库 66
5.3 连接已存在的数据库 68
5.3.1 定义数据库配置文件 68
5.3.2 连接数据库 69
5.3.3 连接数据库失败与Log文件 69
5.4 操作数据库表 70
5.4.1 创建表 70
5.4.2 删除表 71
5.4.3 定义关键字 72
5.4.4 设置表的属性 74
5.4.5 设置表中列的属性 74
5.5 操作数据表中的数据 81
5.5.1 检索数据 81
5.5.2 修改、添加、删除数据、和存储数据 82
5.5.3 将数据排序显示 82
5.5.4 按条件过滤数据 83
5.5.5 查看行的信息 84
第6章 窗口和控件 85
6.1 PowerBuilder中的窗口 85
6.1.1 窗口概述 85
6.1.2 窗口类型 85
6.2 创建窗口 87
6.2.1 创建窗口对象 87
6.2.2 另存窗口 88
6.2.3 继承一个窗口 88
6.3 设置窗口属性 89
6.3.1 设置General标签页 90
6.3.2 设置Scroll标签页 91
6.3.3 设置Toolbar标签页 92
6.3.4 设置Other标签页 93
6.4 预览、运行和打印窗口 93
6.4.1 预览、运行窗口 93
6.4.2 打印窗口 94
6.5 窗口中的控件 94
6.5.1 控件概述 94
6.5.2 窗口中的控件操作 95
6.6 设置控件属性 97
6.6.1 给控件命名 98
6.6.2 改变控件文本 98
6.6.3 定义加速键 99
6.6.4 定义Tab顺序 99
6.6.5 控件的可访问性 100
6.7 控件简介 101
6.7.1 命令按钮CommandButton 101
6.7.2 图形命令按钮PictureButton 102
6.7.3 单选钮RadioButton 102
6.7.4 复选框CheckBox 103
6.7.5 静态文本Static Text 104
6.7.6 静态超链接StaticHyperLink 104
6.7.7 单行编辑框SingleLineEdit和多行编辑框MultiLineEdit 104
6.7.8 掩码编辑框EditMask 105
6.7.9 标签Tab 106
6.7.10 列表框ListBox 109
6.7.1 1 图形列表框PictureListBox 110
6.7.12 下拉列表框DropDownListBox 110
6.7.13 下拉式图形列表框DropDownPictureListBox 111
6.7.14 滚动条ScrollBar 112
6.7.15 进度条ProgressBar 113
6.8 窗口事件 113
第7章 数据窗口对象 115
7.1 数据窗口对象概述 115
7.2 创建数据窗口对象 115
7.2.1 创建数据窗口举例 115
7.2.2 数据源的选择 118
7.2.3 丰富的显示风格 130
7.3 设置数据窗口对象属性 143
7.3.1 设置数据窗口对象的式样 144
7.3.2 指定鼠标指针形状 145
7.3.3 设置打印参数 145
7.3.4 设置列边框 146
7.4 数据窗口中其他重要属性的设置 146
7.4.1 设置列的不可输入性 146
7.4.2 更改列的输入次序 146
7.4.3 设置列的更改属性 146
7.4.4 设置表的不可更改性 147
7.5 定义编辑风格 147
7.5.1 编辑框风格 148
7.5.2 掩码编辑风格 148
7.5.3 复选框编辑风格 149
7.5.4 单选钮编辑风格 149
7.5.5 下拉列表框编辑风格 150
7.5.6 下拉数据窗口编辑风格 151
7.6 在数据窗口对象中添加对象 151
7.6.1 添加对象 152
7.6.2 添加命令按钮 152
7.6.3 添加静态文本 153
7.6.4 添加列和删除列 153
7.7 数据窗口对象中各参数设定 154
7.7.1 定义排序(sort) 154
7.7.2 数据的过滤(Filter) 154
7.7.3 定义固定检索参数 155
7.7.4 定义可变检索参数 155
7.7.5 定义计算列(compute) 156
7.7.6 设定多个表的连接条件(join) 158
7.7.7 定义分组(group) 158
第8章 数据窗口对象的应用 161
8.1 数据窗口控件的使用 161
8.1.1 添加数据窗口控件 161
8.1.2 更改数据窗口控件属性 161
8.1.3 设置数据窗口控件中关联的数据窗口对象 162
8.2 操作数据窗口对象中数据的前提 163
8.2.1 使用系统默认的事务对象SQLCA 164
8.2.2 自己定义事务对象 165
8.2.3 连接数据库 166
8.3 操作数据窗口中的数据 167
8.3.1 检索数据(retrieve) 167
8.3.2 更新数据(update) 168
8.3.3 从数据窗口控件中读数据(getitemstring) 169
8.3.4 将数据写到数据窗口控件中(setitem) 169
8.3.5 对数据窗口控件中的数据进行排序(setsort) 170
8.3.6 对数据窗口控件中的数据进行过滤(setfilter) 170
8.3.7 重新设置数据窗口中的数据(reset) 171
8.3.8 插入记录(insertrow) 171
8.3.9 删除记录(deleterow) 172
8.3.10 滚动行(scrolltorow) 172
8.3.11 选择行(selectrow) 173
8.3.12 获取当前行(getrow) 173
8.3.13 设置当前行(setrow) 173
8.3.14 获取当前列(getcolumn) 174
8.3.15 设置当前列(setcolumn) 174
8.4 数据窗口事件 175
8.4.1 Clicked 175
8.4.2 DoubleClicked 176
8.4.3 ItemChanged 176
8.4.4 RowFocusChanged 177
8.4.5 RetrieveStart 177
8.4.6 RetrieveEnd 177
8.4.7 RetrieveRow 178
8.4.8 UpdateStart 178
8.4.9 UpdateEnd 179
8.4.10 ItemError 179
8.4.11 DbError 179
第9章 菜单 181
9.1 菜单的基本概念 181
9.1.1 菜单的基本组成 181
9.1.2 菜单的类型 181
9.1.3 菜单的特征 182
9.1.4 设计一个菜单 182
9.2 创建菜单 182
9.2.1 进入菜单画板 182
9.2.2 创建一个新菜单 183
9.2.3 在当前菜单项下添加同级菜单项 184
9.2.4 在当前菜单项下添加子菜单项 185
9.2.5 删除菜单项 185
9.2.6 添加下拉菜单项 185
9.2.7 添加级联菜单项 186
9.2.8 通过继承创建一个菜单 186
9.3 设置菜单属性 188
9.3.1 给菜单命名 188
9.3.2 设置菜单提示信息 189
9.3.3 设置菜单可访问性 189
9.3.4 设置菜单的加速键和快捷键 190
9.3.5 在菜单中加入分隔符 190
9.3.6 将菜单项设置成工具栏 191
9.4 菜单的使用 192
9.4.1 将菜单嵌入到窗口中 192
9.4.2 编写脚本 192
第10章 一个实例的开发过程详解 194
10.1 创建新目录 194
10.2 创建数据库 194
10.3 创建数据表 195
10.3.1 创建Address数据表 195
10.3.2 创建主键 196
10.3.3 为每个字段添加注释、表头和标签 197
10.3.4 创建编辑风格 198
10.4 创建新工作空间 199
10.5 创建新应用程序 200
10.6 创建数据窗口对象 201
10.7 创建窗口对象 205
10.8 编写脚本 207
10.9 创建可执行(exe)文件 209
10.10 小结 210
第11章 应用程序的调试和发行 211
11.1 应用程序的调试 211
11.1.1 打开调试窗口 211
11.1.2 设置断点 213
11.1.3 在调试状态下运行应用程序 214
11.2 应用程序的运行 216
11.3 生成可执行文件 216
11.3.1 创建工程及编译 216
11.3.2 应用系统 217
11.4 应用程序的发行 218
11.4.1 PowerBuilder运行时库 218
11.4.2 安装数据库接口 218
11.4.3 配置ODBC数据源 219
第12章 用户对象 220
12.1 用户对象的概念 220
12.2 用户对象的创建 222
12.2.1 创建标准可视用户对象 222
12.2.2 创建定制可视用户对象 224
12.2.3 创建外部可视用户对象 225
12.2.4 创建标准类用户对象 225
12.2.5 创建定制类用户对象 226
12.3 使用用户对象 227
12.3.1 使用可视用户对象 227
12.3.2 使用类用户对象 227
12.4 窗口与用户对象间的通信 228
12.5 用户对象示例 228
第13章 动态数据窗口 232
13.1 动态指定数据窗口对象 232
13.2 动态建立数据窗口对象 233
13.3 动态修改数据窗口对象 236
13.3.1 添加对象到数据窗口 237
13.3.2 删除数据窗口中的对象 237
13.3.3 修改数据窗口对象的属性 238
第14章 PowerBuilder高级应用 239
14.1 应用程序接口(API) 239
14.1.1 外部函数定义和调用 239
14.1.2 数据类型转换 240
14.1.3 参数传递 240
14.1.4 外部函数举例 241
14.2 数据管道 241
14.2.1 创建数据管道进行数据转换 242
14.2.2 在应用程序中调用定义好的数据管道 243
14.3 两个浏览控件 245
14.3.1 列表浏览控件ListView 245
14.3.2 树状浏览控件TreeView 252
14.4 拖放技术 254
14.4.1 拖放属性 255
14.4.2 控件的拖放函数 256
14.4.3 拖放事件 256
14.4.4 拖放操作举例 256
第15章 事件 259
15.1 应用对象的事件 259
15.2 窗口对象的事件 259
15.3 窗口上控件的事件 261
15.3.1 窗口上控件的公共事件 261
15.3.2 命令按钮、图片按钮、单选按钮和复选框控件的事件 263
15.3.3 数据窗口控件的事件 263
15.3.4 图片控件的事件 266
15.3.5 成组框控件的事件 266
15.3.6 单行编辑框、掩码编辑框和多行编辑框的事件 266
15.3.7 超文本编辑控件的事件 267
15.3.8 滚动条控件的事件 267
15.3.9 列表框控件的事件 268
15.3.10 树状浏览控件的事件 268
15.3.11 列表浏览控件的事件 269
15.3.12 Tab控件的事件 269
15.3.13 OLE控件的事件 270
15.3.14 用户对象控件的事件 270
15.3.15 静态文本控件和统计图控件的事件 270
15.4 菜单事件 270
15.5 PowerBuilder对象的用户自定义事件 270
15.6 在程序中触发事件 272
附录 273
参考文献 297