应用篇 1
第1章 了解PowerBuilder 1
1.1传统开发工具的不足 2
1.2 PowerBuilder的特点 2
1.2.1专业的客户机/服务器开发工具 2
1.2.2面向对象的开发工具 3
1.2.3交叉平台的开发环境 3
1.2.4强大而灵活的PowerScript语言 4
1.2.5高度集成的开发环境 4
1.2.6方便的数据窗口 4
1.2.7对Web开发的全面支持 5
1.2.8丰富的配套软件 5
1.3客户机/服务器结构 6
1.3.1客户机/服务器结构概述 6
1.3.2 PowerBuilder与客户机/服务器结构 6
1.3.3三层结构 7
1.4面向对象的基本概念 7
1.4.1类 8
1.4.2抽象 8
1.4.3多态 9
1.4.4封装 10
1.4.5继承 10
1.4.6超类和子类 10
1.4.7初始化类对象 11
1.4.8析构类对象 11
1.5 PowerBuilder的认证考试 11
1.6应用练习 12
第2章 PowerBuilder 8.0的新特性 13
2.1新的用户界面和开发方法 14
2.1.1工作区和目标 14
2.1.2 PowerSite整合 15
2.1.3用户界面改变 15
2.1.4开发方式的变化 17
2.1.5系统树窗口 19
2.1.6剪切和输出窗口 20
2.1.7资源编辑器 21
2.1.8自动脚本增强 21
2.1.9库画板 22
2.2新的Web特性 22
2.2.1 Web数据窗口脚本 22
2.2.2 Web数据窗口配置 23
2.2.3包含JavaScript头文件 23
2.2.4 GIF和JPEG格式的默认按钮 23
2.2.5控件的HTML描述 23
2.2.6显示格式的颜色设置 24
2.3新的EAServer整合 24
2.3.1创建 EAServer组件实现已有的接口 24
2.3.2创建EJB客户端 24
2.3.3客户端和组件管理EAServer事务 25
2.3.4 SSL连接和回调 25
2.3.5 EAServer中的多个PowerBuilder VM 26
2.4新的数据库连接 26
2.4.1新增的和增强的数据库接口 26
2.4.2装载数据库接口库 27
2.4.3 PB.INI文件 27
2.5其他新特性 28
2.5.1例外处理 28
2.5.2命令行方式进行创建和管理 28
2.5.3可执行文件的版本信息 29
2.5.4新的对象和控件属性 29
2.5.5新的PowerScript函数 30
2.5.6 OLE控件的SaveObject事件 30
2.5.7改变的GUID和MIME类型 30
2.6应用练习 31
第3章 PowerBuilder与数据库 33
3.1连接主要数据库 34
3.1.1 Oracle 34
3.1.2 SQL Server 34
3.1.3 Informix 34
3.1.4 SQL Anywhere 35
3.2通用数据库接口ODBC 35
3.2.1 ODBC原理 35
3.2.2 ODBC的数据库驱动信息 36
3.2.3创建本地数据库 38
3.2.4使用ODBC定义数据源 40
3.3数据库描述文件 41
3.3.1设置数据库描述文件 41
3.3.2使用描述文件连接数据库 42
3.3.3描述文件的导入与导出 43
3.3.4描述文件的配置信息 44
3.4应用练习 44
第4章 第一个PowerBuilder应用程序 45
4.1应用程序示例 46
4.2准备工作 46
4.2.1创建文件夹 47
4.2.2创建数据库 47
4.3应用程序创建步骤 47
4.3.1创建工作区和目标 48
4.3.2创建数据窗口对象 50
4.3.3创建窗口对象 55
4.3.4运行应用程序 58
4.3.5生成应用程序 59
4.4回顾创建过程 60
4.5应用练习 61
第5章 全新的集成开发环境 63
5.1全新的工作区概念 64
5.1.1工作区和目标 64
5.1.2使用工作区 64
5.2集成开发环境简介 66
5.2.1画板窗口简介 67
5.2.2不同画板子窗口的共同特征 67
5.2.3子窗口的控制方法 69
5.3应用练习 71
第6章 SQL语句 73
6.1在PowerBuilder中使用数据库 74
6.1.1创建和删除数据库 74
6.1.2创建和删除表 76
6.2数据的完整性 83
6.2.1数据完整性的类型 84
6.2.2用来实现数据完整性的特性 84
6.2.3约束 84
6.2.4使用IDENTITY性质实施数据完整性 87
6.3索引 88
6.3.1索引的优缺点 88
6.3.2选择索引列 88
6.3.3建立索引的原则 89
6.3.4不使用索引的情况 89
6.3.5惟一索引 89
6.3.6复合索引 90
6.4操纵数据 91
6.4.1添加数据 91
6.4.2更新数据 92
6.4.3删除数据 94
6.4.4交互操纵数据 95
6.4.5数据操纵的安全性 95
6.5 SQL查询语句 96
6.5.1简单查询 97
6.5.2无数据源查询 97
6.5.3指定检索的列 98
6.5.4检索表中所有行 99
6.5.5指定检索的行 99
6.5.6处理查询结果 104
6.6高级SQL语句 108
6.6.1多表连接 108
6.6.2子查询 109
6.7视图 110
6.7.1视图与表的区别 110
6.7.2视图的优点 110
6.7.3创建视图 111
6.7.4删除视图 112
6.8存储过程和触发器 113
6.8.1存储过程 113
6.8.2创建和使用存储过程 113
6.8.3触发器 114
6.9应用练习 115
第7章 PowerScript编程 117
7.1 PowerScript语言初步 118
7.1.1注释 118
7.1.2标识符 118
7.1.3分隔符和继续符 119
7.1.4标签 120
7.1.5保留字 120
7.1.6空值 121
7.1.7代词 123
7.1.8特殊ASC字符 125
7.2 PowerScript数据类型 125
7.2.1标准数据类型 125
7.2.2增强数据类型 127
7.2.3数据类型转换 130
7.2.4字符和字符串 130
7.2.5数组 132
7.3声明的使用 133
7.3.1什么是变量和常量 133
7.3.2变量和常量的说明 134
7.3.3变量和常量的范围 134
7.3.4变量和常量的使用 136
7.4运算符和表达式 137
7.4.1运算符 137
7.4.2运算符的优先级 138
7.4.3赋值 139
7.5函数 139
7.5.1函数搜索链 140
7.5.2参数传递方式 140
7.5.3特殊类型的参数传递 140
7.5.4函数调用方式 141
7.5.5使用Windows系统对话框 142
7.6 PowerScript语句 143
7.6.1赋值语句 143
7.6.2判断语句 143
7.6.3循环语句 145
7.6.4控制语句 148
7.6.5处理语句 148
7.7 PowerScript对象 150
7.7.1对象的基本概念 150
7.7.2结构 151
7.7.3系统对象 152
7.7.4用户对象 152
7.8应用练习 153
第8章 应用程序对象 155
8.1应用程序对象概述 156
8.1.1创建应用程序对象 156
8.1.2使用应用程序对象 160
8.2应用程序画板 161
8.3应用程序对象属性 161
8.3.1 General属性 162
8.3.2 Toolbar属性 162
8.3.3附加属性 162
8.4应用程序对象事件 163
8.4.1 Close事件 163
8.4.2 ConnectionBegin事件 163
8.4.3 ConnectionEnd事件 164
8.4.4 Idle事件 164
8.4.5 Open事件 164
8.4.6 SystemError事件 165
8.5应用程序对象函数 166
8.6库搜索路径 166
8.7应用练习 167
第9章 窗口对象 169
9.1窗口对象类型 170
9.1.1主窗口 170
9.1.2子窗口 170
9.1.3多文档和带Microhelp的多文档窗口 170
9.1.4弹出式窗口 171
9.1.5响应式窗口 171
9.2窗口画板 171
9.2.1窗口画板介绍 171
9.2.2创建和打开窗口对象 172
9.2.3添加控件 173
9.2.4排列控件 173
9.3窗口对象属性 175
9.3.1常规属性 175
9.3.2高级属性 177
9.4窗口对象事件 179
9.4.1 Activate和Deactivate事件 179
9.4.2 Open事件 179
9.4.3 Close和CloseQuery事件 180
9.4.4 Resize事件 181
9.4.5用户自定义事件 182
9.5窗口对象函数 182
9.5.1 ChangeMenu函数 183
9.5.2 SetRedraw函数 183
9.5.3 Resize函数 183
9.5.4 WorkSpaceHeight函数 183
9.5.5 MDI窗口函数 184
9.6窗口的操作 184
9.6.1 Open函数 184
9.6.2 Close函数 186
9.7窗口控件 186
9.7.1命令按钮(CommandButton) 187
9.7.2图形命令按钮(PictureButton) 187
9.7.3静态文本(StaticText) 188
9.7.4单行文本框(SingleLineEdit) 189
9.7.5多行文本框(MultiLineEdit) 189
9.7.6掩码文本框(EditMask) 190
9.7.7超文本文本框(RichTextText) 191
9.7.8分组框(GroupBox) 193
9.7.9选项卡(Tab) 194
9.7.10单选按钮(RadioButton) 195
9.7.11复选框(CheckBox) 195
9.7.12列表框(ListBox) 196
9.7.13下拉式列表框(DropDownListBox) 197
9.7.14跟踪条(TrackBar) 197
9.7.15滚动条(ScrollBar) 198
9.7.16进程条(ProgressBar) 199
9.8预览和运行窗口 199
9.9应用练习 200
第10章 数据窗口对象 201
10.1数据窗口对象概述 202
10.2数据窗口画板 203
10.3创建数据窗口对象 203
10.4数据源 204
10.4.1 Quick Select 204
10.4.2 SQL Select 205
10.4.3 Query 208
10.4.4 External 208
10.4.5 Store Procedure 209
10.5表现风格 210
10.5.1 Tabular 210
10.5.2 Grid 211
10.5.3 Freeform 211
10.5.4 Crosstab 212
10.5.5 Graph 213
10.5.6 Group 214
10.5.7 Label 215
10.5.8 N-Up 216
10.5.9 Composite 217
10.5.10 OLE 2.0 218
10.5.11 RichText 219
10.6设计数据窗口对象 220
10.6.1数据窗口属性 220
10.6.2区域 222
10.6.3区域的属性 223
10.6.4大小、对齐和间距 223
10.6.5列对象属性 223
10.6.6 Tab次序 230
10.6.7压缩重复值 230
10.7行操纵 231
10.7.1过滤 231
10.7.2排序 232
10.7.3检索 233
10.8更新属性 234
10.8.1 Key Modification 235
10.8.2 Where Clause for Update/Delete 236
10.8.3 Identity Column 237
10.9数据窗口增强对象 237
10.9.1 Button对象 237
10.9.2 Computed Field对象 239
10.9.3 Report对象 239
10.9.4 Group Box对象 240
10.9.5 Graph对象 240
10.9.6其他对象 240
10.10预览数据窗口 241
10.10.1 Describe对话框 241
10.10.2 Zoom属性 241
10.10.3数据操纵 242
10.10.4导出和导入数据 242
10.11应用练习 242
第11章 数据窗口控件 245
11.1数据窗口控件概述 246
11.2数据窗口控件属性 246
11.2.1 General属性 246
11.2.2 Other属性 247
11.3连接数据窗口对象和数据窗口控件 248
11.4连接数据库 249
11.4.1事务对象 249
11.4.2事务对象的属性 249
11.4.3事务处理语句 250
11.4.4自定义事务对象 251
11.4.5连接数据窗口控件 251
11.5数据窗口控件事件 252
11.5.1 ItemChanged事件 252
11.5.2 ItemError事件 253
11.5.3 DBError事件 254
11.5.4 Constructor事件 255
11.5.5 Clicked事件 255
11.5.6 DoubleClicked事件 256
11.5.7 RButtonDown事件 256
11.5.8 RowFocusChanged事件 256
11.6数据窗口控件函数 257
11.6.1数据库相关的函数 257
11.6.2行操作 258
11.6.3列操作 260
11.6.4数据操作 260
11.6.5打印相关函数 262
11.7应用练习 264
第12章 菜单对象 265
12.1菜单对象概述 266
12.2菜单画板 266
12.2.1菜单画板简介 266
12.2.2创建菜单对象 267
12.2.3添加菜单项 268
12.3菜单项属性 269
12.3.1 General属性 269
12.3.2 Toolbar属性 270
12.4菜单事件 271
12.4.1 Clicked事件 271
12.4.2 Selected事件 272
12.5菜单函数 272
12.5.1 Check和UnCheck函数 272
12.5.2 Enable和Disable函数 273
12.5.3 PopMenu函数 273
12.6菜单和窗口的连接 273
12.7菜单设计原则 274
12.8菜单应用实例 274
12.9应用练习 275
第13章 库管理 277
13.1库画板 278
13.1.1库画板简介 278
13.1.2定制库画板 279
13.1.3使用库画板 279
13.2库文件的组织 282
13.3对象安全控制 283
13.3.1注销对象 283
13.3.2注册对象 283
13.3.3撤销注销 283
13.3.4查看注销信息 284
13.4升级应用程序 284
13.5应用练习 284
第14章 调试应用程序 285
14.1调试画板 286
14.1.1调试画板简介 286
14.1.2选择脚本 287
14.1.3设置断点 287
14.1.4调试应用程序 290
14.2 PBDebug 290
14.2.1 DBG文件 291
14.2.2 PBP文件 292
14.3其他调试方法 297
14.3.1 MessageBox函数 297
14.3.2 Beep函数 298
14.3.3 SQLPreview事件 298
14.4调试技巧 299
14.5应用练习 299
第15章 创建应用程序 301
15.1创建各组件 302
15.1.1可执行文件 302
15.1.2资源文件 302
15.1.3动态库文件 303
15.2 Project画板 303
15.3两种编译模式 305
15.3.1伪代码概述 305
15.3.2编译代码概述 305
15.3.3编译代码的创建 305
15.3.4编译代码和伪代码的比较 306
15.3.5提高应用程序的效率 306
15.4应用程序的发布 307
15.5应用练习 307
开发篇 309
第16章 MD应用程序 309
16.1 MDI的基本概念 310
16.1.1 MDI框架 310
16.1.2客户区 310
16.1.3工作表 311
16.1.4菜单栏 311
16.1.5工具栏 311
16.1.6状态栏 311
16.2工作表管理器对象 311
16.3重置用户工作区 314
16.4工具栏的控制 315
16.5应用练习 318
第17章 用户对象和用户事件 319
17.1用户对象概述 320
17.1.1可视用户对象 320
17.1.2类用户对象 320
17.2创建用户对象 321
17.3使用用户对象 324
17.4用户对象技术 325
17.4.1窗口和用户对象的通信 325
17.4.2动态创建用户对象技术 325
17.4.3动态创建用户对象实例 327
17.5用户事件概述 332
17.6定义用户事件 332
17.6.1理解Windows消息 333
17.6.2 PowerBuilder消息 333
17.6.3使用PowerBuilder消息 334
17.6.4不使用PowerBuilder消息的用户事件 335
17.7使用用户事件 335
17.8应用练习 336
第18章 数据管道对象 337
18.1数据管道概述 338
18.2创建数据管道 338
18.3数据管道画板 340
18.3.1源表 340
18.3.2目标表 340
18.3.3数据管道选项 340
18.3.4执行数据管道 341
18.3.5数据管道错误 342
18.3.6处理Blob数据 342
18.4使用数据管道 343
18.4.1数据管道属性 343
18.4.2数据管道事件 343
18.4.3数据管道相关函数 344
18.4.4数据管道应用步骤 345
18.4.5数据管道应用实例 345
18.5应用练习 348
第19章 使用高级控件 349
19.1 ListView控件 350
19.1.1 ListView的表现方式 350
19.1.2 ListView应用实例 351
19.2 TreeView控件 358
19.2.1树视图控件简介 358
19.2.2 TreeView控件应用实例 359
19.3图形控件 368
19.3.1 PowerBuilder图形基础 368
19.3.2图形控件属性 368
19.3.3图形控件函数 371
19.4应用练习 373
第20章 高级数据窗口 375
20.1访问数据窗口属性 376
20.1.1属性值 376
20.1.2表达式值 377
20.1.3示例 377
20.2 Describe函数 378
20.2.1函数语法 378
20.2.2 SQL应用 379
20.2.3运算表达式 380
20.3 Modify函数 380
20.3.1函数语法 380
20.3.2属性赋值 380
20.3.3创建对象 381
20.3.4删除对象 381
20.4动态创建数据窗口 381
20.4.1 Create 函数 382
20.4.2 SyntaxFromSQL函数 383
20.4.3 LibraryExport函数 385
20.4.4动态创建数据窗口实例 386
20.5数据存储对象 390
20.5.1数据存储对象概述 390
20.5.2数据存储对象使用 391
20.6应用练习 392
第21章 API调用 393
21.1外部函数声明 394
21.2参数传递 394
21.3调用规则 394
21.4调用外部函数用户对象 395
21.4.1使用PowerBuilder外部函数 395
21.4.2使用Windows API函数 397
21.5几种常见错误 397
21.5.1保护性错误 398
21.5.2使用远指针 398
21.5.3静态变量的使用 398
21.5.4共享文件句柄 398
21.5.5及时释放资源 398
21.5.6动态链接库的位置 399
21.6应用练习 399
第22章 配置和修改注册表 401
22.1 Windows注册表概述 402
22.2注册表相关函数 403
22.2.1 RegistryDelete 403
22.2.2 RegistryGet 403
22.2.3 RegistryKeys 403
22.2.4 RegistrySet 404
22.2.5 RegistryValues 404
22.3注册表使用实例 404
22.4应用练习 406
第23章 拖放技术 407
23.1拖放技术概述 408
23.2拖放组件和规则 408
23.2.1拖放组件 408
23.2.2拖放规则 409
23.3实现拖放功能 409
23.3.1拖放对象属性 410
23.3.2拖放对象事件 410
23.3.3拖放对象方法 411
23.4应用练习 414
第24章 Internet功能 415
24.1开发Web页面 416
24.2支持MAPI 417
24.2.1 MailSession对象概述 417
24.2.2使用MailSession对象 418
24.3其他Internet功能 427
24.4应用练习 428
第25章 DDE与OLE 429
25.1共享资源 430
25.2动态数据交换 430
25.2.1 DDE概述 430
25.2.2 DDE相关函数 431
25.2.3编写DDE应用程序 433
25.3对象链接和嵌入 439
25.3.1 OLE概述 439
25.3.2 OLE对象的属性、事件和函数 440
25.3.3使用DDE对象 444
25.4应用练习 446
第26章 创建安装程序 447
26.1 InstallShield概述 448
26.2创建安装程序 448
26.2.1使用项目向导 449
26.2.2添加文件并修改代码 451
26.3卸载应用程序 455
26.4应用练习 456
第27章 综合应用举例 457
27.1应用程序需求和分析 458
27.2应用程序分析和实现 458
27.2.1数据库设计 458
27.2.2界面设计 460
27.2.3编码实现 464
27.3应用程序的优化和改进 471
27.4应用练习 471