第1章 PowerBuilder 8.0概述 1
1.1 PowerBuilder 8.0简介 2
1.2 PowerBuilder 8.0的新特性 2
1.2.l 新的用户界面和开发方法 2
1.2.2 新增Web特性 4
1.2.3 新增企业应用服务器(EAServer)集成 4
1.2.4 新的数据库连接 5
1.2.5 其他 5
l.3 PowerBuilders.0的安装和启动 5
1.3.1 PowerBuilder 8.0的安装 5
1.3.2 启动 PowerBuilder 8.0 11
第2章 PowerBuilder开发环境 13
2.1.l 概念和术语 14
2.l 使用PowerBuilder 14
2.l.2 PowerBuilder开发应用的类型 16
2.1.3 使用PowerBuilder开发应用程序的步骤 16
2.l.4 PowerBuilder界面介绍 17
2.1.5 创建和打开工作区 25
2.1.6 创建目标 27
2.1.7 管理工作区 28
2.l.8 PowerBuilder画板的使用 30
2.2 定制 PowerBuilderl作环境 36
2.2.l 设置启动选项 36
2.2.2 定制系统树窗口、输出窗日和剪贴窗口 37
2.2.3 定制画板的视图 38
2.2.4 定制工具栏 42
2.2.5 定制键盘快捷键 48
2.2.6 改变字体 49
2.2.7 定制颜色 50
第3章 应用对象 51
3.l 创建应用对象 52
3.1.1 创建Workspace 52
3.1.2 创建空白的应用对象 53
3.1.3 利用模板创建应用对象 55
3.2 应用画板 61
3.3 应用对象的属性 63
3.3.1 General属性 63
3.3.2 Toolbar属性 65
3.4 应用对象的事件 66
3.5 应用对象的函数 68
第4章 窗口和控件 69
4.l 富日的设计和使用 70
4.1.l 窗口的组成 70
4.1.2 窗口的类型 70
4.1.3 窗口的创建 72
4.l.4 窗口画板介绍 73
4.1.5 设置窗口的属性 75
4.1.6 查看窗口 79
4.1.7 保存窗口 80
4.1.8 窗口的继承 81
4.2.l 控件的种类和名称 83
4.2 窗口上的控件 83
4.2.2 在窗日中插入控件 85
4.2.3 选择控件 85
4.2.4 控件的布局 86
4.2.5 控件的复制和删除 89
4.2.6 设置控件的属性 89
4.2.7 控件的命名 89
4.2.8 设置控件的显示文本 91
4.2.9 设定控件的Tab顺序 92
4.2.10 定义控件的加速键 93
4.2.11 定义控件的可访问属性 93
4.2.12 设置控件的颜色 94
4.3 各控件的使用 95
4.2.13 设置控件的三维外观 95
4.3.1 命令按钮(ConunandBotton) 96
4.3.2 图片按钮(PictureBotton) 96
4.3.3 单选按钮( RadioBotton) 97
4.3.4 复选框(CheckBox) 98
4.3.5 静态文本(StaticText) 99
4.3.6 静态超文本链接(StaticHyperLink) 100
4.3.7 单行编辑框(SingleLineEdit)和多行编辑框(MultiLineEdit) 100
4.3.8 编辑掩码框(EditMask ) 101
4.3.9 列表框( ListBox) 102
4.3.10 图片列表框(PictureListBox) 104
4.3.11 下拉列表框(DropDownListBox) 105
4.3.13 图片( picture) 106
4.3.12 下拉图像列表框(DropDownPictureListBox) 106
4.3.15 绘图对象(DrawObject) 107
4.3.14 图片超文本链接(PictureHyperLink) 107
4.3.16 水平进度条(HprogressBar)和垂直进度条(Vprogress Bars) 108
4.3.17 水平滚动条(HscrollBar)和垂直滚动条(VscrollBar) 109
4.3.18 水平跟踪条(HtrackBar)和垂直跟踪条(VtrackBar) 110
4.3.19 标签(Tab) 111
4.3.20 列表视图(ListView) 115
4.3.21 树视图(TreeView) 117
4.3.22 富文本(RichText) 119
4.3.23 图表(Graph) 121
4.3.24 用户对象(UserObject) 121
4.3.26 OLE控件 122
4.3.25 数据窗口控件( DataWindow Control) 122
4.4 窗口和控件的编程 123
4.4.1 为窗口和控件的事件编写脚本 123
4.4.2 使用窗口和控件的函数 125
4.4.3 在脚本中修改窗口和控件的属性 125
4.4.4 声明窗口的实例变量 125
4.4.5 语句举例 126
4.4.6 窗口的实例 127
5.1 菜单基础知识 134
5.1.1 菜单的使用 134
5.2.1 打开菜单画板 135
5.2 创建菜单 135
5.1.3 建立菜单 135
5.1.2 菜单设计 135
5.2.2 认识菜单画板 136
5.2.3 菜单项的操作 137
5.2.4 菜单项的命名 142
5.3 设置菜单项的属性 143
5.3.l 设定菜单项的一般属性 143
5.3.2 指定加速键和快捷键 144
5.3.3 设置工具栏和图标属性 145
5.4 保存菜单 147
5.5.l 菜单项的事件 148
5.5 为菜单项编写脚本 148
5.5.2 函数和变量 149
5.5.3 在菜单项的脚本中引用对象 150
5.6 菜单的继承 151
5.6.l 使用继承法建立菜单 152
5.6.2 使用继承的菜单 152
5.6.3 后代菜单中菜单项的命名 153
5.6.4 在后代菜单中插入菜单项 153
5.7 菜单的使用 157
5.7.l 为窗口添加菜单 158
5.7.2 在窗口脚本中引用菜单项 158
5.7.3 在运行期间改变窗口的菜单 158
5.7.4 显示弹出式菜单 159
第6章 数据库应用初步 161
6.l 数据库基础知识 162
6.1.l 数据库系统的发展 162
6.1.2 基本概念 162
6.1.3 客户机/服务器结构 163
6.2 创建数据库 164
6.2.l 在PowerBuilder集成环境中创建数据库 164
6.2.2 利用管理工具 Sybase Central创建数据库 167
6.2.3 通过SQL语句创建数据库 173
6.2.4 删除数据库 175
6.3 连接数据库 176
6.3.l 数据库连接接口 176
6.3.2 定义数据源 179
6.3.3 建立描述文件 183
6.3.4 倒出描述文件 186
6.3.5 程序中连接数据库 187
6.3.6 通过专用接口建立与服务器数据库的连接 188
第7章 数据库画板 193
7.l 数据表 194
7.l.l 样本表 194
7.1.2 创建数据表 195
7.1.3 表的一般属性 199
7.1.4 修改/删除表 201
7.2 主键 202
7.3 外键 203
7.4 索引 205
7.5.l 一般属性 206
7.5 列的属性 206
7.5.2 扩展属性 209
7.6 查看建表语法 214
7.7 数据管理 215
7.7.l 数据浏览、修改与输出 215
7.7.2 对表中数据进行排序 216
7.7.3 对表中数据进行筛选 217
7.7.4 导入/导出数据 217
7.8 视图 219
7.9 Layout子窗口 220
7.10 使用交互式 SQL 220
7.11 PowerBuilder扩展属性系统表 221
第8章 数据窗口 223
8.l 数据窗口基础知识 224
8.1.l 概述 224
8.1.2 创建或修改数据窗口对象 225
8.1.3 数据窗口对象的表现风格 228
8.1.4 定义数据源 236
8.1.5 生成和保存数据窗口对象 249
8.2 增强数据窗口对象的功能 250
8.2.l 数据窗口画板介绍 250
8.2.2 设置数据窗口对象的属性 257
8.2.3 数据窗口的更新属性 266
8.2.4 添加控件 269
8.2.5 组织数据窗口对象中的控件 278
8.2.6 在数据窗口对象中存储数据 280
8.2.7 预览数据窗口对象 282
8.3.l 概述 288
8.3.2 显示格式 289
8.3.3 编辑风格 298
8.3.4 有效性规则 307
8.3.5 维护实体( Entity) 311
8.4 数据过滤、排序、分组 313
8.4.l 数据过滤 313
8.4.2 数据排序 314
8.4.3 数据分组 315
8.5 数据窗口高级技术 319
8.5.l 数据窗口对象与数据窗口控件的连接 320
8.5.2 访问数据库 322
8.5.3 导入外部数据 325
8.5.4 操控数据窗口中的数据 325
8.5.5 访问数据窗口对象的属性 329
8.5.6 数据窗口的错误处理 330
8.5.7 更新数据库 332
8.5.8 创建报表 334
8.5.9 生成HTML 335
第9章 使用SQL语句 339
9.1 SQL基本概念 340
9.2 常用SQL语句介绍 341
9.2.1 数据定义语句 341
9.2.2 单行检索语句SELECT 343
9.2.3 数据更新语句 348
9.2.4 提交语句和回滚语句 350
9.2.6 游标的使用 354
9.2.5 数据库连接与中断 354
9.3 PowerScript中使用SQL画板 358
第10章 PowerScript语言 363
10.1 基础知识 364
10.1.l 代码格式 364
10.1.2 断行、续行与分割符 364
10.1.3 注释 365
10.1.4 标识符 366
10.1.5 特殊符号 367
10.1.6 代词 368
10.1.8 保留字 369
10.1.7 空值(NULL) 369
10.1.9 对象,属性,函数和事件的引用方法 370
10.2 操作符 371
10.2.1 算术运算符 371
10.2.2 关系运算符 372
10.2.3 逻辑运算符 373
10.2.4 连接操作符 373
10.2.5 操作符的优先级 374
10.3 数据类型 374
10.3.1 标准数据类型 375
10.3.2 枚举类型 376
10.3.3 系统对象数据类型 377
10.3.4 Any类型 379
10.4 变量 380
10.4.1 变量的分类 380
10.4.2 变量的声明 381
10.4.3 常量 382
10.5 数组 382
10.5.1 一维数组 382
10.5.2 变长组长 383
10.5.3 多维数组 384
10.5.4 数组的上下界 384
10.6 条件语句 385
10.6.1 IF语句 386
10.6.2 CHOOSE CASE语句 387
10.7 循环语句 388
10.7.1 DO...LOOP循环语句 388
10.7.2 FOR...NEXT循环语句 390
10.7.3 GOTO语句 391
10.7.4 CONTINUE(继续循环) 392
10.7.5 EXIT(退出循环) 392
10.7.6 循环嵌套 392
10.8 特殊控制语句 393
10.9 用户自定义函数和结构 394
10.9.1 创建自定义全局函数 394
10.9.2 创建自定义对象函数 396
10.9.3 创建全局结构 397
10.10.1 数据类型转换与检查函数 399
10.10 常用函数 399
10.10.2 数值计算函数 400
10.10.3 字符串操作函数 400
10.10.4 日期、时间函数 401
10.10.5 文件系统函数 402
10.10.6 其他函数 411
第十一章 用户对象和用户事件 415
11.1 用户对象分类 416
11.2 创建可视化用户对象 417
11.2.1 创建标准可视化用户对象 417
11.2.2 创建定制可视化用户对象 420
11.3 创建类用户对象 436
11.2.3 创建外部可视化用户对象 436
11.3.1 创建标准类用户对象 437
11.3.2 创建定制类用户对象 439
11.4 在窗口与用户对象之间实现信息交换 440
11.5 用户事件 441
11.5.1 定义用户事件 441
11.5.2 删除用户事件 443
11.5.3 应用用户事件 443
11.5.4 常用的 Event ID含义 443
第十二章 数据管道 451
12.1 数据管道基础 452
12.1.1 数据管道的功能 452
12.1.2 数据管道的使用 452
12.1.4 灌入扩展属性 453
12.1.3 定义数据管道 453
12.2 数据管道的建立 454
12.3 修改管道定义 456
12.3.1 在工作区中可修改的选项 456
12.3.2 选择管道操作 457
12.3.3 根据管道操作修改数据管道 458
12.3.4 管道运行中止 459
12.3.5 灌入 Blob类型的数据 460
12.3.6 改变目的数据库和源数据库 461
12.4 纠正管道错误 462
12.5 保存和打开管道对象 462
12.6 在程序中使用数据管道 463
第十三章 API应用 469
13.1 API概述 470
13.2 PowerBuilder中API使用方法 471
13.3 API调用实例 472
13.3.1 播放音乐 472
13.3.2 窗口动态打开与关闭 473
13.3.3 在PowerBuilder 程序中实现自动关闭或重启计算机 474
13.3.4 限制程序多次运行 475
13.3.5 程序中打开或打印文本文件 476
13.3.6 取磁盘相关信息 477
13.3.7 设置机器时间 483
13.4 常见API调用 488
第十四章 调试,编译与发行 507
14.1.1 调试器工作界面 508
14.1 程序调试 508
14.1.2 设置断点 509
14.1.3 调试运行 510
14.2 创建可执行文件 512
14.2.1 编译前准备工作 512
14.2.2 创建新工程 513
14.2.3 资源文件定义 519
14.3 了解运行库文件 520
14.4 安装制作,发行 521
14.4.1 了解安装程序完成的工作 521
14.4.2 利用向导生成安装工程文件 522
14.4.3 一般设定(GeneralDesign) 526
14.4.4 界面管理 529
14.4.5 系统编辑器的使用 533
14.4.6 生成安装文件 535
14.5 帮助文件制作 536
14.5.1 制作HTML文件夹 536
14.5.2 使用HTML Help Workshop 536
第十五章 实例练习 549
15.1 实例概述 550
15.2 数据库设计 550
15.3 创建应用 554
15.4 创建数据库 556
15.5 创建数据库 557
15.5.1 创建表department 557
15.5.2 创建其他表 559
15.5.3 创建编辑风格 563
15.6 创建用户对象,全局函数和祖先窗口 566
15.6.1 创建命令按钮用户对象 567
15.6.2 创建数据窗口用户对象 568
15.6.3 建立全局函数f_encypt() 570
15.6.4 建立表单(Sheet)祖先窗口w_basesheet 571
15.7 各功能窗口的设计 571
15.7.1 系统主窗口 571
15.7.2 用户登录窗口 572
15.7.3 部门数据录入和维护窗口 574
15.7.4 人员数据录入,维护和查询窗口 575
15.7.5 人员数据检索窗口 578
15.7.6 项目数据显示窗口 581
15.7.7 项目数据录入,编辑窗口 584
15.7.8 项目数据查询窗口 587
15.7.9 部门人数统计窗口 589
15.7.10 项目数据统计窗口 593
15.7.11 更改密码窗口 594
15.7.12 数据备份窗口 596
15.7.13 用户管理窗口 598
15.7.14 用户数据录入,编辑窗口 600
15.7.15 版权信息显示窗口 602
15.8 菜单设计 603
15.9 实例运行 605
附录A PowerBuilder编程常用问题集锦 607
A.1 数据库 608
A.2 窗口及控件 609
A.2.1 如何在MDI窗口中加入背景图片 609
A.2.2 如何使一个有Title 标题的窗口不可移动 612
A.2.3 如何在PowerBuilder 中实现圆形的窗口 613
A.2.4 如何打开变量名所代表的窗口呢 614
A.2.5 如何向窗口传送多个参数 614
A.2.6 如何在窗口退出时检测数据是否被修改 615
A.2.7 如何在使用动画鼠标指针 615
A.2.8 如何实现单击文本框时选中框内的所有内容 616
A.2.9 Treeview控件数据项检索实现 616
A.3.1 当某一数据列为空时如何设置计算列的值 617
A.3 数据窗口对象 617
A.3.2 如何创建一个动态的数据窗口对象 618
A.3.3 如何在程序中随意修改数据窗口对象的各个带区,标题或格式等 619
A.3.5 如何参考数据窗口中其他行的数据 621
A.3.6 如何在计算域中统计性别男的个数 621
A.3.7 如何在Datawinidow 中实现列的自动折行 621
A.3.8 表中新增加一列时为何不能在数据窗口中对该列数据进行保存 622
A.4 数据窗口控 件 622
A.4.1 如何实现单击列标题对列进行排序 622
A.4.2 如何实现连续页号打印多个数据窗口 624
A.4.3 如何使Datawinidow 每页打印固定行 625
A.4.4 如何实现两数据窗口的合并打印 625
A.4.5 如何实现数据窗口的多行选择 631
A.4.7 如何实现数据窗口控件中某一列的增量查询 632
A.4.6 如何动态实现打印不固定的数据列 632
A.4.8 如何取得复合报表中的计算域的值 633
A.4.9 数据得到数据窗口中的所有列名及其text的文字说明书 635
A.4.10 如何取得数据窗口中下拉数据窗口的显示值 635
A.4.11 如何判断Crtl +W 复合键 636
A.4.12 如何利用左右键及回车键来转移列的焦点 636
A.4.13 SetFilter()函数中的字符型变量匹配 638
A.5 OLE应用 638
A.6 API相关 639
A.6.1 如何获Windows 系统目录 639
A.6.2 如何屏蔽掉Crtl +Alt+ Delete 键 639
A.6.3 如何在 PowerBuilder中打开一个其他类型的文件 640
A.6.4 当在程序中运动DOS命令时如何隐藏DOS窗口并判断其结束 641
A.6.5 怎样得到程序运行时的绝对路径 642
A.6.6 如何制作带有图形的菜单(像 Word中的菜单一样) 643
A.7 其他问题 646
A.7.1 如何取得RGB函数的计算值 646
A.7.2 如何得到一个应用程序如 的路径 647
A.7.3 如何调用HtmHelp 格式的帮助文件 647
A.7.4 如何在程序中关闭打开的DOS窗口 648
A.7.5 怎样实现在循环中途退出 648
附录B 命名规范 651
B.1 控件的命名规范 652
B.2 对象的命名 654
B.3 变量的命名 655
B.4 函数的命名 656