第1章 PowerBuilder 9.0概述 1
目录 1
1.1 PowerBuilder简介 2
1.2 PowerBuilder开发工具的特点 2
1.2.1 事件驱动的应用程序 3
1.2.2 功能强大的编程语言和函数 3
1.2.3 面向对象的编程 3
1.2.4 跨平台开发 4
1.2.5 开放的数据库连接 4
1.2.6 强大的Web以及分布式开发能力 6
1.3 PowerBuilder 9.0的新特性 6
1.4.1 PowerBuilder 9.0的安装 10
1.4 PowerBuilder 9.0的安装和启动 10
1.4.2 启动PowerBuilder 9.0 16
1.5 小结 16
第2章 PowerBuilder开发环境 17
2.1 使用PowerBuilder 18
2.1.1 概念和术语 18
2.1.2 PowerBuilder开发应用的类型 20
2.1.3 使用PowerBuilder开发应用程序的步骤 21
2.1.4 PowerBuilder界面介绍 21
2.1.5 创建和打开工作区 30
2.1.6 创建目标 31
2.1.7 管理工作区 32
2.1.8 PowerBuilder画板的使用 34
2.1.9 使用工具 40
2.1.10 使用PowerBuilder帮助 41
2.2 定制PowerBuilder工作环境 42
2.2.1 设置启动选项 42
2.2.2 定制系统树窗口、输出窗口和剪贴窗口 43
2.2.3 定制画板的视图 44
2.2.4 定制工具栏 48
2.2.5 定制键盘快捷键 54
2.2.6 改变字体 55
2.2.7 定制颜色 57
2.3 小结 58
第3章 数据库应用初步 59
3.1 数据库基础知识 60
3.1.1 数据库系统的发展 60
3.1.2 基本概念 60
3.1.3 客户机/服务器结构 61
3.2 创建数据库 62
3.2.1 在PowerBuilder集成环境中创建数据库 62
3.2.2 利用管理工具Sybase Central创建数据库 65
3.2.3 通过SQL语句创建数据库 71
3.2.4 删除数据库 73
3.3 连接数据库 74
3.3.1 数据库连接接口 75
3.3.2 定义数据源 76
3.3.3 建立描述文件 80
3.3.4 导出描述文件 82
3.3.5 程序中连接数据库 83
3.3.6 通过专用接口建立与服务器数据库的连接 84
3.4 小结 88
第4章 数据库画板 89
4.1 数据表 90
4.1.1 样本表 90
4.1.2 创建数据表 90
4.1.3 表的一般属性 95
4.1.4 修改/删除表 97
4.2 主键 97
4.3 外键 99
4.4 索引 101
4.5 列的属性 102
4.5.1 一般属性 102
4.5.2 扩展属性 104
4.6 查看建表语法 110
4.7 数据管理 111
4.7.1 数据浏览、修改与输出 111
4.7.2 对表中数据进行排序 112
4.7.3 对表中数据进行筛选 113
4.7.4 导入/导出数据 114
4.8 视图 116
4.10 使用交互式SQL 117
4.9 Layout视图 117
4.11 PowerBuilder扩展属性系统表 118
4.12 小结 120
第5章 使用SQL语句 121
5.1 SQL基本概念 122
5.2 常用SQL语句介绍 123
5.2.1 数据定义语句 123
5.2.2 单行检索语句SELECT 125
5.2.3 数据更新语句 130
5.2.4 提交语句和回滚语句 133
5.2.5 数据库连接与中断 136
5.2.6 游标的使用 137
5.3 PowerScript中使用SQL画板 141
5.4 小结 144
第6章 PowerScript语言 145
6.1 基础知识 146
6.1.1 代码格式 146
6.1.2 断行、续行与分割符 146
6.1.3 注释 148
6.1.4 标识符 149
6.1.5 特殊符号 149
6.1.6 代词 150
6.1.7 空值(NULL) 152
6.1.8 保留字 153
6.1.9 对象、属性、函数和事件的引用方法 153
6.2.1 算术运算符 154
6.2 操作符 154
6.2.2 关系运算符 155
6.2.3 逻辑运算符 156
6.2.4 连接操作符 157
6.2.5 操作符的优先级 158
6.3 数据类型 158
6.3.1 标准数据类型 158
6.3.2 枚举类型 160
6.3.3 系统对象数据类型 161
6.3.4 Any类型 162
6.4 变量 164
6.4.1 变量的分类 164
6.4.2 变量的声明 165
6.4.3 常量 166
6.5 数组 166
6.5.1 一维数组 166
6.5.2 变长数组 167
6.5.3 多维数组 168
6.5.4 数组的上下界 169
6.6 条件语句 170
6.6.1 IF语句 170
6.6.2 CHOOSE CASE语句 172
6.7 循环语句 173
6.7.1 DO...LOOP循环语句 173
6.7.2 FOR...NEXT循环语句 175
6.7.3 GOTO语句 176
6.7.4 CONTINUE(继续循环) 177
6.7.5 EXIT(退出循环) 178
6.7.6 循环嵌套 178
6.8 特殊控制语句 178
6.9 用户自定义函数和结构 180
6.9.1 创建自定义全局函数 180
6.9.2 创建自定义对象函数 182
6.9.3 创建全局结构 182
6.10 常用函数 184
6.10.1 数据类型的转换函数与检查函数 185
6.10.2 数值计算函数 185
6.10.3 字符串操作函数 186
6.10.4 日期、时间函数 187
6.10.5 文件系统函数 188
6.10.6 其他函数 200
6.11 小结 204
第7章 应用对象 205
7.1 创建应用对象 206
7.1.1 创建Workspace 206
7.1.2 创建空白的应用对象 208
7.1.3 利用模板创建应用对象 209
7.2 打开已存在的应用对象 215
7.3 应用画板 218
7.4.1 General属性 219
7.4 应用对象的属性 219
7.4.2 Toolbar属性 221
7.5 应用对象的事件 222
7.6 应用对象的函数 224
7.7 检索路径的添加 224
7.8 练习:应用对象实例 225
7.8.1 创建Workspace 225
7.8.2 创建应用对象 225
7.8.3 设置应用对象属性 226
7.8.4 创建窗口对象 228
7.8.5 编写应用对象脚本 229
7.9 小结 230
7.8.6 运行程序 230
第8章 窗口和控件 231
8.1 窗口的设计和使用 232
8.1.1 窗口的组成 232
8.1.2 窗口的类型 232
8.1.3 窗口的创建 234
8.1.4 窗口画板介绍 235
8.1.5 设置窗口的属性 238
8.1.6 查看窗口 241
8.1.7 保存窗口 243
8.1.8 窗口的继承 244
8.2.1 控件的种类和名称 246
8.2 窗口上的控件 246
8.2.2 在窗口中插入控件 248
8.2.3 选择控件 248
8.2.4 控件的布局 249
8.2.5 控件的复制和删除 251
8.2.6 设置控件的属性 252
8.2.7 控件的命名 252
8.2.8 设置控件的显示文本 254
8.2.9 设定控件的Tab顺序 255
8.2.10 定义控件的加速键 256
8.2.11 定义控件的可访问属性 256
8.2.12 设置控件的颜色 257
8.3 各控件的使用 258
8.2.13 设置控件的三维外观 258
8.3.1 命令按钮(CommandButton) 259
8.3.2 图片按钮(PictureButton) 260
8.3.3 单选按钮(RadioButton) 261
8.3.4 复选框(CheckBox) 262
8.3.5 静态文本(StaticText) 262
8.3.6 静态超文本链接(StaticHyperLink) 263
8.3.7 单行编辑框(SingleLineEdit)和多行编辑框(MultiLineEdit) 263
8.3.8 编辑掩码框(EditMask) 265
8.3.9 列表框(ListBox) 266
8.3.10 图片列表框(PictureListBox) 267
8.3.11 下拉列表框(DropDownListBox) 268
8.3.12 下拉图像列表框(DropDownPictureListBox) 269
8.3.13 图片(Picture) 270
8.3.14 图片超文本链接(PictureHyperLink) 271
8.3.15 绘图对象(DrawObject) 271
8.3.16 水平进度条(HprogressBar)和垂直进度条(Vprogress Bars) 272
8.3.17 水平滚动条(HscrollBar)和垂直滚动条(VscrollBar) 272
8.3.18 水平跟踪条(HtrackBar)和垂直跟踪条(VtrackBar) 273
8.3.19 标签(Tab) 275
8.3.20 列表视图(ListView) 278
8.3.21 树视图(TreeView) 280
8.3.22 富文本(RichText) 282
8.3.23 图表(Graph) 283
8.3.24 用户对象(UserObject) 284
8.3.25 数据窗口控件(DataWindow Control) 285
8.3.26 OLE控件 285
8.4 窗口和控件的编程 286
8.4.1 为窗口和控件的事件编写脚本 286
8.4.2 使用窗口和控件的函数 288
8.4.3 在脚本中修改窗口和控件的属性 288
8.4.4 声明窗口的实例变量 288
8.4.5 语句举例 289
8.4.6 窗口的实例 290
8.5 窗口举例 295
8.6 小结 304
第9章 菜单 305
9.1.1 菜单的使用 306
9.1 菜单基础知识 306
9.1.2 菜单设计 307
9.1.3 建立菜单 307
9.2 创建菜单 307
9.2.1 打开菜单画板 307
9.2.2 认识菜单画板 308
9.2.3 菜单项的操作 309
9.2.4 菜单项的命名 313
9.3 设置菜单项的属性 314
9.3.1 设定菜单项的一般属性 314
9.3.3 设置工具栏和图标属性 316
9.3.2 指定加速键和快捷键 316
9.4 保存菜单 318
9.5 为菜单项编写脚本 319
9.5.1 菜单项的事件 319
9.5.2 函数和变量 320
9.5.3 在菜单项的脚本中引用对象 321
9.6 菜单的继承 323
9.6.1 使用继承法建立菜单 323
9.6.2 使用继承的菜单 324
9.6.3 后代菜单中菜单项的命名 325
9.6.4 在后代菜单中插入菜单项 325
9.7.1 为窗口添加菜单 329
9.7.2 在窗口脚本中引用菜单项 329
9.7 菜单的使用 329
9.7.3 在运行期间改变窗口的菜单 330
9.7.4 显示弹出式菜单 330
9.8 小结 331
第10章 数据窗口 333
10.1 数据窗口基础知识 334
10.1.1 概述 334
10.1.2 创建或修改数据窗口对象 335
10.1.3 数据窗口对象的表现风格 338
10.1.4 定义数据源 345
10.1.5 生成和保存数据窗口对象 357
10.2 增强数据窗口对象的功能 358
10.2.1 数据窗口画板介绍 359
10.2.2 设置数据窗口对象的属性 365
10.2.3 数据窗口的更新属性 375
10.2.4 添加控件 380
10.2.5 组织数据窗口对象中的控件 388
10.2.6 在数据窗口对象中存储数据 391
10.2.7 预览数据窗口对象 393
10.3 显示和校验数据 399
10.3.1 概述 399
10.3.2 显示格式 400
10.3.3 编辑风格 409
10.3.4 有效性规则 417
10.3.5 维护实体(Entity) 421
10.4 数据过滤、排序、分组 422
10.4.1 数据过滤 422
10.4.2 数据排序 423
10.4.3 数据分组 424
10.5 数据窗口高级技术 429
10.5.1 数据窗口对象与数据窗口控件的连接 429
10.5.2 访问数据库 431
10.5.3 导入外部数据 435
10.5.4 操控数据窗口中的数据 435
10.5.5 访问数据窗口对象的属性 439
10.5.6 数据窗口的错误处理 440
10.5.7 更新数据库 442
10.5.8 创建报表 444
10.5.9 生成HTML 445
10.6 小结 448
第11章 数据管道 449
11.1 数据管道基础 450
11.1.1 数据管道的功能 450
11.1.2 数据管道的使用 450
11.1.3 定义数据管道 451
11.1.4 灌入扩展属性 451
11.2 数据管道的建立 452
11.3 修改管道定义 454
11.3.1 在工作区中可修改的选项 454
11.3.2 选择管道操作 455
11.3.3 根据管道操作修改数据管道 456
11.3.4 管道运行中止 457
11.3.5 灌入Blob类型的数据 458
11.3.6 改变目的数据库和源数据库 459
11.4 纠正管道错误 459
11.5 保存和打开管道对象 460
11.6 在程序中使用数据管道 461
11.7 小结 467
第12章 用户对象和用户事件 469
12.1 用户对象分类 470
12.2 创建可视用户对象 471
12.2.1 创建标准可视用户对象 471
12.2.2 创建定制可视用户对象 493
12.2.3 创建外部可视用户对象 522
12.3 创建类用户对象 529
12.3.1 创建标准类用户对象 529
12.3.2 创建定制类用户对象 532
12.4 在窗口与用户对象之间实现信息交换 533
12.5 用户事件 534
12.5.1 定义用户事件 535
12.5.2 删除用户事件 537
12.5.3 应用用户事件 537
12.5.4 常见的Event ID含义 537
12.6 小结 546
第13章 API应用 547
13.1 API概述 548
13.2 PowerBuilder中API使用方法 549
13.3 API调用实例 550
13.3.1 播放音乐 550
13.3.2 实现窗口打开与关闭的动画效果 552
13.3.3 限制程序多次运行 553
13.3.4 程序中打开或打印文本文件 554
13.3.5 取磁盘相关信息 556
13.3.6 设置机器时间 562
13.3.7 半透明窗口的实现 567
13.3.8 圆形窗口的实现 569
13.4 常见API调用 570
13.5 小结 592
第14章 调试、编译与发行 593
14.1 程序调试 594
14.1.1 调试器工作界面 594
14.1.2 设置断点 595
14.1.3 调试运行 596
14.2 创建可执行文件 598
14.2.1 编译前准备工作 599
14.2.2 创建新工程 600
14.2.3 资源文件定义 605
14.3 了解运行库文件 606
14.4 安装制作、发行 607
14.4.1 了解安装程序完成的工作 607
14.4.2 利用向导生成安装工程文件 608
14.4.3 一般设定(General Design) 613
14.4.4 界面管理(Screens) 615
14.4.5 操作的使用(Actions) 617
14.4.6 卸载设定 618
14.4.7 生成安装文件 619
14.4.8 工程转换(Project Converter) 620
14.4.9 使用范例 621
14.5 帮助文件制作 634
14.5.1 制作HTML文件 634
14.5.2 使用HTML Help Workshop 634
14.5.3 在PowerBuilder 9.0应用程序中调用帮助文件 641
14.6 小结 642
第15章 实例练习 643
15.1 实例概述 644
15.2 数据库设计 644
15.3 创建应用 648
15.4 创建数据库 650
15.5 创建数据表 651
15.5.1 创建表department 652
15.5.2 创建其他表 653
15.5.3 创建编辑风格 656
15.6 创建用户对象、全局函数和祖先窗口 659
15.6.1 创建命令按钮用户对象 659
15.6.2 创建数据窗口用户对象 660
15.6.3 建立全局函数f_encrypt() 662
15.6.4 建立表单(Sheet)祖先窗口w_basesheet 663
15.7 各功能窗口的设计 663
15.7.1 系统主窗口 663
15.7.2 用户登录窗口 664
15.7.3 部门数据录入和维护窗口 666
15.7.4 人员数据录入、维护和查询窗口 668
15.7.5 人员数据检索窗口 671
15.7.6 项目数据显示窗口 674
15.7.7 项目数据录入、编辑窗口 677
15.7.8 项目数据查询窗口 680
15.7.9 部门人数统计窗口 682
15.7.10 项目数据统计窗口 685
15.7.11 更改密码窗口 686
15.7.12 数据备份窗口 688
15.7.13 用户管理窗口 690
15.7.14 用户数据录入、编辑窗口 692
15.7.15 版权信息显示窗口 694
15.8 菜单设计 695
15.9 实例运行 698
15.10 小结 698
附录 PowerBuilder命名规范 699
1 控件的命名规范 700
2 对象的命名 701
3 变量的命名 702
4 函数的命名 703