书籍详情
PowerBuilder 9.0程序设计与开发技术大全
作者:求是科技编著
出版社:人民邮电出版社
出版时间:2004-12-01
ISBN:9787115126993
定价:¥88.00
购买这本书可以去
内容简介
本书通过大量有代表性的开发实例,向读者介绍和讲解了使用PowerBuilder 9.0提供的工具来开发所需要系统的方法及相关的编程技巧,这些实例几乎囊括了应用PowerBuilder 9.0进行程序开发的所有知识。全书分为3个部分:应用程序开发篇、数据库开发篇、高级应用篇。3个部分既相互独立又相互联系,一步步引导读者深入学习PowerBuilder 9.0。另外前两部分的最后一章分别为读者安排了一些在应用程序开发和数据库开发中常见的问题解答和技巧说明,以帮助读者解决实际开发中所遇到的问题。本书内容全面、实例丰富、概念清晰、图文并茂,非常适合数据库编程初学者阅读,也可作为数据库编程爱好者的参考书。
作者简介
暂缺《PowerBuilder 9.0程序设计与开发技术大全》作者简介
目录
第1章 PowerBuilder 9.0概述 1
1.1 PowerBuilder的发展历程 1
1.2 PowerBuilder功能简介 1
1.2.1 事件驱动的应用程序 1
1.2.2 功能强大的开发技术 1
1.2.3 面向对象编程 3
1.2.4 强大的Web以及分布式开发能力 3
1.2.5 对事务的支持 3
1.3 PowerBuilder 9.0的新功能 3
1.4 本章小结 4
第2章 PowerBuilder 9.0的开发环境 5
2.1 安装和卸载PowerBuilder 9.0 5
2.1.1 安装PowerBuilder 9.0 5
2.1.2 卸载PowerBuilder 13
2.2 集成开发环境 14
2.2.1 运行PowerBuilder 9.0 14
2.2.2 菜单栏 16
2.2.3 工作区 19
2.2.4 工具栏 19
2.2.5 画板 20
2.2.6 获得帮助 20
2.3 一个简单数据库应用程序示例 21
2.3.1 快速生成一个应用程序 21
2.3.2 创建数据窗口 23
2.3.3 连接数据窗口 24
2.3.4 运行应用程序 26
2.4 本章小结 27
第3章 PowerBuilder 9.0编程基础 28
3.1 PowerScript语言基础 28
3.1.1 标识符、注释、代词 28
3.1.2 数据类型 29
3.1.3 变量与常量 31
3.1.4 数组 32
3.1.5 运算符 33
3.1.6 表达式 34
3.2 控制结构 35
3.2.1 条件分支结构 35
3.2.2 循环结构 36
3.2.3 返回和终止 38
3.3 函数结构 39
3.3.1 使用系统函数 39
3.3.2 创建自定义函数(Fuction) 41
3.3.3 函数调用 43
3.3.4 函数的重载和超越 43
3.3.5 结构的创建和使用 43
3.3.6 常用函数 45
3.4 使用SQL语句 47
3.4.1 常用SQL语句 47
3.4.2 SQL语句的执行结果检查 50
3.4.3 游标的使用 51
3.4.4 动态SQL语句 52
3.4.5 SQL查询示例 56
3.5 编程规范 60
第4章 应用对象和事务对象 62
4.1 应用对象概述 62
4.2 应用对象和应用对象画板 62
4.2.1 应用对象 62
4.2.2 应用库 62
4.2.3 应用对象画板 63
4.3 应用对象的事件 68
4.3.1 Open(打开)事件 68
4.3.2 Close(关闭)事件 69
4.3.3 Idle(空闲)事件 69
4.3.4 SystemError(系统出错)事件 69
4.3.5 ConnectBegin(连接开始)事件 69
4.3.6 ConnectEnd(连接结束)事件 70
4.3.7 编写应用对象的事件 70
4.4 使用代码编辑器 70
4.4.1 代码编辑器 70
4.4.2 编辑代码 71
4.4.3 粘贴函数 72
4.4.4 粘贴语句 73
4.4.5 代码编辑器的键盘操作 73
4.5 事务对象 74
4.5.1 事务对象概述 74
4.5.2 创建自定义事务对象 75
4.6 本章小结 76
第5章 对象的属性、事件和函数 77
5.1 公共对象函数 77
5.1.1 ClassName() 77
5.1.2 Drag() 77
5.1.3 GetContextService() 78
5.1.4 GetParent() 79
5.1.5 Hide() 79
5.1.6 Move() 80
5.1.7 PointerX() 81
5.1.8 PointerY() 81
5.1.9 PostEvent() 81
5.1.10 Print() 82
5.1.11 Resize() 83
5.1.12 SetFocus() 84
5.1.13 SetPosition() 84
5.1.14 SetRedraw() 85
5.1.15 Show() 86
5.1.16 TriggerEvent() 86
5.1.17 TypeOf() 88
5.2 应用对象 89
5.2.1 应用对象的属性 89
5.2.2 应用对象的事件 90
5.2.3 应用对象的函数 90
5.3 数组边界对象 92
5.3.1 数组边界对象的属性 92
5.3.2 数组边界对象的函数 92
5.4 类定义对象 93
5.4.1 类定义对象的属性 93
5.4.2 类定义对象的函数 94
5.5 上下文信息对象 95
5.5.1 上下文信息对象的属性 95
5.5.2 上下文信息对象的事件 95
5.5.3 上下文信息对象的函数 96
5.6 上下文关键字对象 100
5.6.1 上下文关键字对象的属性 100
5.6.2 上下文关键字对象的事件 100
5.6.3 上下文关键字对象的函数 100
5.7 C++对象 101
5.7.1 C++对象的属性 101
5.7.2 C++对象的事件 101
5.7.3 C++对象的函数 102
5.8 数据存储对象 102
5.8.1 数据存储对象的属性 102
5.8.2 数据存储对象的事件 102
5.8.3 数据存储对象的函数 103
5.9 子数据窗口对象 106
5.10 动态描述区对象 109
5.10.1 动态描述区对象的属性 109
5.10.2 动态描述区对象的事件 110
5.10.3 动态描述区对象的函数 110
5.11 DynamicStagingArea对象 115
5.11.1 DynamicStagingArea对象的事件 115
5.11.2 DynamicStagingArea对象的函数 115
5.12 枚举定义对象 115
5.12.1 枚举定义对象的属性 115
5.12.2 枚举定义对象的函数 116
5.13 枚举项定义对象 116
5.13.1 枚举项定义对象的属性 116
5.13.2 枚举项定义对象的函数 117
5.14 环境对象 117
5.14.1 环境对象的属性 117
5.14.2 环境对象的函数 117
5.15 出错对象 118
5.15.1 出错对象的属性 118
5.15.2 出错对象的事件 118
5.15.3 出错对象的函数 118
5.16 grAxis对象 119
5.16.1 grAxis对象的属性 119
5.16.2 grAxis对象的函数 120
5.17 grDispAttr对象 120
5.17.1 grDispAttr对象的属性 121
5.17.2 grDispAttr对象的函数 121
5.18 Inet对象 122
5.18.1 Inet对象的属性 122
5.18.2 Inet对象的事件 122
5.18.3 Inet对象的函数 122
5.19 InternetResult对象 124
5.19.1 InternetResult对象的属性 124
5.19.2 InternetResult对象的事件 124
5.19.3 InternetResult对象的函数 125
5.20 ListViewItem对象 125
5.20.1 ListViewItem对象的属性 125
5.20.2 ListViewItem对象的函数 126
5.21 mailFileDescription对象 126
5.21.1 mailFileDescription对象的属性 126
5.21.2 mailFileDescription对象的函数 126
5.22 邮件消息对象 127
5.22.1 邮件消息对象的属性 127
5.22.2 邮件消息对象的函数 127
5.23 邮件接收者对象 128
5.23.1 邮件接收者对象的属性 128
5.23.2 邮件接收者对象的函数 128
5.24 邮件会话对象 128
5.24.1 邮件会话对象的属性 128
5.24.2 邮件会话对象的事件 128
5.24.3 邮件会话对象的函数 129
5.25 MDIClient对象 138
5.25.1 MDIClient对象的属性 139
5.25.2 MDIClient对象的函数 139
5.26 菜单对象 139
5.26.1 菜单对象的属性 140
5.26.2 菜单对象的事件 140
5.26.3 菜单对象的函数 141
5.27 MenuCascade对象 144
5.27.1 MenuCascade对象的属性 144
5.27.2 MenuCascade对象的事件 145
5.27.3 MenuCascade对象的函数 145
5.28 消息对象 146
5.28.1 消息对象的属性 146
5.28.2 消息对象的事件 146
5.28.3 消息对象的函数 147
5.29 本章小结 147
第6章 窗体与菜单 148
6.1 窗体概述 148
6.1.1 主窗体(MainWindow) 148
6.1.2 弹出式窗体(Popup Window) 148
6.1.3 子窗体(Child Window) 149
6.1.4 响应窗体(Response Window) 149
6.1.5 MDI框架窗体和带微帮助的MDI框架窗体 149
6.2 窗体操作 149
6.2.1 窗体画板概述 149
6.2.2 创建新窗体 150
6.2.3 创建继承窗体 151
6.2.4 设计窗体属性 152
6.2.5 保存、预览、打印窗体 155
6.3 窗体事件和函数 156
6.3.1 窗体事件 156
6.3.2 窗体函数 158
6.4 窗体变量和窗体数组 161
6.4.1 窗体变量 161
6.4.2 窗体数组 161
6.5 制作身份验证窗体实例 162
6.5.1 在数据库中创建管理员信息表 162
6.5.2 建立窗体 162
6.5.3 设置、排列各个控件 163
6.5.4 编写窗体和各个控件的事件脚本 164
6.6 菜单概述 165
6.7 菜单操作 167
6.7.1 创建新菜单 167
6.7.2 修改菜单 168
6.7.3 设置菜单属性 170
6.8 菜单事件 172
6.8.1 菜单事件触发时机 172
6.8.2 编写菜单事件处理程序 172
6.9 制作弹出式菜单 172
6.9.1 弹出窗体上的菜单 172
6.9.2 弹出其他菜单 173
6.10 本章小结 173
第7章 控件 174
7.1 控件概述 174
7.1.1 控件的命名 175
7.1.2 控件的基本操作 177
7.1.3 控件的焦点与Tab次序 181
7.1.4 控件的标题和访问键 183
7.2 按钮控件 185
7.2.1 命令按钮 185
7.2.2 图形按钮 186
7.3 显示与编辑文本 186
7.3.1 静态文本(StaticText)控件 187
7.3.2 单行编辑框(SingleLineEdit) 187
7.3.3 多行编辑框(MultiLineEdit) 188
7.3.4 掩码编辑框(EditMask) 189
7.3.5 超文本编辑框(RichTextEdit) 190
7.4 单选钮、复选框与组框 191
7.4.1 单选钮(RadioButton) 191
7.4.2 复选框(CheckBox) 192
7.4.3 组框(GroupBox) 193
7.5 列表选择 194
7.5.1 列表框(ListBox) 194
7.5.2 图片列表框(PictureListBox) 196
7.5.3 下拉列表框(DropDownListBox) 197
7.5.4 下拉图片列表框 198
7.6 显示图像 198
7.7 使用树形视图控件 200
7.7.1 属性 201
7.7.2 添加与删除列表项 202
7.7.3 事件 205
7.8 使用列表视图控件 206
7.8.1 列表视图的属性 206
7.8.2 增加与删除列表项 208
7.8.3 事件 211
7.9 使用标签控件 212
7.9.1 相关概念 212
7.9.2 建立标签控件 212
7.9.3 属性 214
7.9.4 事件 217
7.10 集成其他应用 218
7.10.1 放入OLE控件 218
7.10.2 设置OLE控件 220
7.10.3 激活OLE对象的方法 221
7.10.4 使用BLOB类型 222
7.10.5 访问Excel数据 223
7.10.6 访问Word数据 226
7.11 本章小结 229
第8章 报表 230
8.1 报表概述 230
8.1.1 选择表现风格和数据源 230
8.1.2 设置结果集和修改属性 231
8.1.3 在服务器和客户机间共享 232
8.1.4 数据窗口和报表区 233
8.1.5 数据窗口画板选项 233
8.2 打印报表 234
8.2.1 控制打印规范 234
8.2.2 与打印相关的函数 235
8.2.3 与打印相关的事件 236
8.3 制作打印报表单 237
8.3.1 数据窗口数据项的选择与设置 237
8.3.2 调整控件大小 237
8.3.3 利用系统控件强化报表的统计显示功能 238
8.4 选择并打印报表 239
8.4.1 建立数据窗口 240
8.4.2 建立窗体 241
8.4.3 设置控件及其属性 242
8.4.4 编写控件脚本 242
第9章 程序调试与发布 244
9.1 程序调试 244
9.1.1 查看脚本窗口 244
9.1.2 资源浏览窗口 244
9.1.3 查看变量窗口 244
9.1.4 断点查看窗口 245
9.2 断点操作 245
9.2.1 调试应用程序的切换 245
9.2.2 设置断点 246
9.3 调试方法 248
9.3.1 调试的开始、继续和停止 248
9.3.2 其他调试方法 248
9.4 查看信息 249
9.4.1 查看各种变量值 249
9.4.2 查看其他信息 249
9.4.3 运行错误解释 251
9.5 发布应用程序 252
9.5.1 概述 252
9.5.2 建立工程对象 253
9.5.3 编译生成各类对象 254
9.5.4 编译生成可执行应用程序 254
9.6 制作安装盘 259
9.6.1 找出软件发布的所有必需文件 259
9.6.2 确保软件的目录结构同软件一致 259
9.6.3 在注册表里的设置 259
9.6.4 确定要生成的程序包的名字和目标 260
9.7 本章小结 260
第10章 应用程序开发常见问题与技巧 261
10.1 环境配置 261
10.1.1 生成应用程序需要的DLL文件 261
10.1.2 应用程序脱离开发环境运行 261
10.1.3 安装Adaptive Server Anywhere后如何创建数据库 262
10.1.4 在File菜单中显示Create Database选项 262
10.1.5 编程优化数据库查询 262
10.1.6 动态调用函数 264
10.1.7 对应用程序进行代码维护 265
10.2 窗体与菜单设计 268
10.2.1 创建图标栏应用 268
10.2.2 创建美观的状态条 270
10.2.3 在Response窗口中使用Menu 270
10.2.4 移动窗口中的控件 271
10.2.5 捕获控制菜单中的Close事件 271
10.2.6 将可视控件放置于其他的控件上 271
10.2.7 实现动态显示控件 272
10.2.8 动态创建可视控件 272
10.2.9 使用多窗口实例 273
10.2.10 在实例窗口中引用控件 274
10.2.11 向窗口传递多个参数 275
10.2.12 设计实时帮助条 275
10.2.13 实现“跑马灯” 276
10.2.14 实现右键菜单 276
10.3 事务管理 276
10.3.1 如何设置数据窗口控件的事务对象 276
10.3.2 进行内部事务管理 277
10.3.3 使用一个独立的事务对象进行事务管理 278
10.3.4 为数据库连接参数赋值 279
10.3.5 用数据库的事务管理指令实现完全控制 281
10.3.6 消除内存漏洞 281
10.3.7 进行数据访问 281
10.3.8 同时连到多个RDBMS 282
10.3.9 使用事务对象进行数据库检索和更新 282
10.4 操作OCX控件 283
10.4.1 在PowerBuilder中实现对有关串口的编程 283
10.4.2 在PowerBuilder中使用OCX控件 284
10.4.3 实现动态的Splash封面文件 285
10.4.4 用PowerBuilder开发多媒体播放器 286
10.4.5 利用OCX控件制作状态条 287
10.4.6 利用OCX控件制作日历 288
10.4.7 利用OCX控件制作动态按钮或动态图片 288
10.5 控制应用程序 289
10.5.1 触发另一个应用程序中用户事件 289
10.5.2 调用Windows的输入法 289
10.5.3 使用游标 290
10.5.4 用PowerBuilder调用Windows的API函数 291
10.5.5 调用API函数从串口通信中获取程控交换机计费数据 291
10.5.6 调用外部程序及判断其完成 293
10.5.7 播放声音文件 294
10.5.8 动态监控资源 295
10.5.9 控制由Run运行的程序 296
10.5.10 只运行一次应用程序 297
10.5.11 在应用程序中启动控制面板 297
10.5.12 在循环中途实现退出 298
10.6 操作Windows系统 298
10.6.1 利用API函数建立Windows风格的About对话框 298
10.6.2 在程序中切换中英文输入法 299
10.6.3 获取驱动器类型 299
10.6.4 获取键盘类型 300
10.6.5 获取硬盘容量 300
10.6.6 制作闪动标题栏 300
10.6.7 获取用户登记标识ID 301
10.6.8 将指定的窗口带至窗口列表顶部 301
10.6.9 取得驱动器的卷标 302
10.6.10 调用HTML格式的帮助文件 302
10.6.11 关闭/打开DOS窗口 303
10.6.12 获得Windows系统目录 303
10.6.13 利用左右键及回车键转移列的焦点 304
10.6.14 使PowerBuilder窗口总在最上层 304
10.6.15 隐藏/显示Windows的任务栏 305
10.6.16 把长文件名转换为短文件名 306
10.6.17 获取目录信息 306
10.7 本章小结 308
第11章 数据库管理基础 309
11.1 数据库的基本概念 309
11.1.1 列(Column) 309
11.1.2 行(Row) 309
11.1.3 数据类型(Type) 309
11.1.4 主键(Primary Key) 310
11.1.5 外键(Foreign Key) 310
11.2 PowerBulider的数据库接口 310
11.2.1 标准数据库接口 310
11.2.2 专用数据库接口 311
11.3 数据库画板 311
11.3.1 数据库画板窗口 311
11.3.2 数据库画板功能 312
11.3.3 修改数据库选项 313
11.4 创建和删除数据库 313
11.4.1 创建数据库 314
11.4.2 删除数据库 314
11.5 操作数据库表 315
11.5.1 表的创建与删除 315
11.5.2 定义表的属性、列的属性和扩展属性 316
11.5.3 表的索引 318
11.5.4 表的主键、外键 318
11.5.5 操作数据 320
11.6 本章小结 321
第12章 数据窗口设计 322
12.1 数据窗口设计 322
12.2 数据窗口显示 325
12.2.1 列表(Tabular) 325
12.2.2 交叉列表(Crosstab) 326
12.2.3 自由格式(Freeform) 326
12.2.4 统计图(Graph) 326
12.2.5 表格(Grid) 327
12.2.6 分组(Group) 327
12.2.7 标签(Label) 327
12.2.8 分栏(N-Up) 328
12.2.9 外部文本(OLE 2.0) 328
12.2.10 超文本(RichText) 328
12.2.11 复合(Composite) 328
12.3 数据窗口数据源 328
12.3.1 Quick Select数据源 328
12.3.2 SQL Select数据源 329
12.3.3 Query数据源 329
12.3.4 External数据源 330
12.3.5 Stored Procedure数据源 331
12.4 操作数据窗口对象 332
12.4.1 划分区域 332
12.4.2 添加和删除列 332
12.4.3 计算字段 333
12.4.4 过滤数据 335
12.4.5 数据排序 336
12.4.6 指定检索数据方式 337
12.4.7 增加数据窗口数据 337
12.5 数据窗口控件的属性、事件和函数 341
12.5.1 数据窗口控件的属性 341
12.5.2 数据窗口控件的事件 342
12.5.3 数据窗口控件的常用函数 344
12.6 本章小结 347
第13章 数据窗口事件 348
13.1 连接数据库 348
13.2 数据窗口画板 349
13.2.1 设计视图 349
13.2.2 属性视图 350
13.2.3 控件列表视图 350
13.2.4 预览视图 351
13.2.5 数据视图 352
13.2.6 列定义视图 352
13.3 使用事务对象 353
13.3.1 事务对象概念及属性 353
13.3.2 操作事务对象 353
13.3.3 全局事务对象--SQLCA 354
13.4 读取数据窗口缓冲区内容 357
13.4.1 数据窗口缓冲区 357
13.4.2 在数据窗口控件中读取数据 360
13.4.3 利用数据列更新事件实现数据库修改 363
13.5 存取数据窗口对象的属性 369
13.5.1 数据窗口对象属性 369
13.5.2 使用函数存取对象属性 369
13.5.3 使用表达式存取对象属性 370
13.6 共享数据窗口缓冲区 370
13.6.1 共享概述 370
13.6.2 共享条件 370
13.6.3 数据共享应用 371
13.6.4 数据窗口函数对共享的影响 371
13.7 本章小结 372
第14章 连接数据库 373
14.1 概述 373
14.1.1 软件安装 373
14.1.2 连接到ODBC数据库 374
14.1.3 专用接口的一般连接步骤 376
14.2 使用数据库维护画板 378
14.2.1 编写和执行SQL语句 378
14.2.2 保存与读入SQL语句 379
14.3 PowerBuilder资源库 379
14.4 创建与编辑显示格式 379
14.4.1 数值型显示格式 380
14.4.2 字符串显示格式 381
14.4.3 日期显示格式 382
14.4.4 时间显示格式 383
14.5 创建编辑风格 383
14.5.1 编辑框风格(EditBox) 384
14.5.2 编辑掩码风格(EditMask) 385
14.5.3 复选框风格(CheckBox) 385
14.5.4 单选钮风格(RadioButton) 385
14.5.5 下拉列表框风格(DropDownListBox) 386
14.5.6 下拉数据窗口风格(DropDownDataWindow) 386
14.6 创建有效性规则 386
14.7 数据库配置连接 388
14.7.1 选择数据库管理系统 389
14.7.2 数据库设计 389
14.7.3 配置数据库并连接 389
14.8 本章小结 394
第15章 数据窗口控件的属性、事件和函数 395
15.1 数据窗口控件的属性 395
15.2 数据窗口控件的事件 396
15.3 数据窗口控件的函数 398
15.3.1 AcceptText() 402
15.3.2 CanUndo() 403
15.3.3 CategoryCount() 403
15.3.4 CategoryName() 404
15.3.5 Clear() 404
15.3.6 ClearValues() 405
15.3.7 Clipboard() 405
15.3.8 Copy() 405
15.3.9 CopyRTF() 406
15.3.10 Create() 406
15.3.11 CrosstabDialog() 408
15.3.12 Cut() 409
15.3.13 DataCount() 409
15.3.14 DBCancel() 410
15.3.15 DBErrorCode() 411
15.3.16 DBErrorMessage() 411
15.3.17 DeletedCount() 411
15.3.18 DeleteRow() 411
15.3.19 Describe() 412
15.3.20 Filter() 415
15.3.21 FilteredCount() 416
15.3.22 Find() 416
15.3.23 FindCategory() 418
15.3.24 FindGroupChange() 418
15.3.25 FindNext() 419
15.3.26 FindRequired() 419
15.3.27 FindSeries() 420
15.3.28 GenerateHTMLForm() 420
15.3.29 GetBandAtPointer() 421
15.3.30 GetBorderStyle() 422
15.3.31 GetChild() 423
15.3.32 GetClickedColumn() 424
15.3.33 GetColumn() 424
15.3.34 GetColumnName() 425
15.3.35 GetData() 425
15.3.36 GetDataPieExplode() 426
15.3.37 GetDataStyle() 426
15.3.38 GetDataValue() 429
15.3.39 GetFormat() 430
15.3.40 GetItemDate() 430
15.3.41 GetItemDateTime() 432
15.3.42 GetItemDecimal() 433
15.3.43 GetItemNumber() 434
15.3.44 GetItemStatus() 436
15.3.45 GetItemString() 437
15.3.46 GetItemTime() 438
15.3.47 GetMessageText() 439
15.3.48 GetNextModified() 439
15.3.49 GetObjectAtPointer() 440
15.3.50 GetRow() 441
15.3.51 GetSelectedRow() 441
15.3.52 GetSeriesStyle() 442
15.3.53 GetSQLPreview() 444
15.3.54 GetSQLSelect() 445
15.3.55 GetText() 445
15.3.56 GetTrans() 446
15.3.57 GetUpdateStatus() 447
15.3.58 GetValidate() 447
15.3.59 GetValue() 447
15.3.60 GroupCalc() 448
15.3.61 ImportClipboard() 449
15.3.62 ImportFile() 449
15.3.63 ImportString() 450
15.3.64 InsertDocument() 451
15.3.65 InsertRow() 452
15.3.66 IsSelected() 452
15.3.67 LineCount() 453
15.3.68 ModifiedCount() 454
15.3.69 Modify() 454
15.3.70 ObjectAtPointer() 462
15.3.71 OLEActivate() 463
15.3.72 Paste() 464
15.3.73 PasteRTF() 464
15.3.74 Position() 464
15.3.75 Print() 465
15.3.76 PrintCancel() 467
15.3.77 ReplaceText() 467
15.3.78 ReselectRow() 467
15.3.79 Reset() 468
15.3.80 ResetDataColors() 469
15.3.81 ResetTransObject() 469
15.3.82 ResetUpdate() 470
15.3.83 Retrieve() 470
15.3.84 RowCount() 472
15.3.85 RowsCopy() 473
15.3.86 RowsDiscard() 474
15.3.87 RowsMove() 475
15.3.88 SaveAs() 476
15.3.89 Scroll() 478
15.3.90 ScrollNextPage() 478
15.3.91 ScrollNextRow() 479
15.3.92 ScrollPriorPage() 479
15.3.93 ScrollPriorRow() 480
15.3.94 ScrollToRow() 480
15.3.95 SelectedLength() 481
15.3.96 SelectedLine() 481
15.3.97 SelectedStart() 481
15.3.98 SelectedText() 482
15.3.99 SelectRow() 482
15.3.100 SelectText() 483
15.3.101 SelectTextAll() 484
15.3.102 SelectTextLine() 484
15.3.103 SelectTextWord() 484
15.3.104 SeriesCount() 484
15.3.105 SeriesName() 485
15.3.106 SetActionCode() 485
15.3.107 SetBorderStyle() 485
15.3.108 SetColumn() 486
15.3.109 SetDataPieExplode() 487
15.3.110 SetDataStyle() 487
15.3.111 SetDetailHeight() 489
15.3.112 SetFilter() 490
15.3.113 SetFormat() 491
15.3.114 SetItem() 492
15.3.115 SetItemStatus() 492
15.3.116 SetRow() 494
15.3.117 SetRowFocusIndicator() 494
15.3.118 SetSeriesStyle() 495
15.3.119 SetSort() 497
15.3.120 SetSQLPreview() 498
15.3.121 SetSQLSelect() 499
15.3.122 SetTabOrder() 500
15.3.123 SetText() 500
15.3.124 SetTrans() 501
15.3.125 SetTransObject() 502
15.3.126 SetValidate() 504
15.3.127 SetValue() 505
15.3.128 ShareData() 506
15.3.129 ShareDataOff() 508
15.3.130 ShowHeadFoot() 508
15.3.131 Sort() 509
15.3.132 TextLine() 509
15.3.133 Undo() 510
15.3.134 Update() 510
15.4 本章小结 511
第16章 数据窗口对象的属性、方法和函数 512
16.1 数据窗口对象的属性 512
16.1.1 位图(Bitmap)对象的属性 512
16.1.2 按钮(Button)对象的属性 513
16.1.3 列(Column)对象的属性 514
16.1.4 计算域(Computed field)对象的属性 518
16.1.5 DataWindow对象的属性 520
16.1.6 组框(GroupBox)对象的属性 524
16.1.7 直线(Line)对象的属性 525
16.1.8 椭圆(Oval)、矩形(Rectangle)、圆角矩形(RoundRectangle)对象的属性 526
16.1.9 报表(Report)对象的属性 526
16.1.10 表(TableBlob)对象的属性 527
16.1.11 文本(Text)对象的属性 528
16.2 数据窗口对象属性的访问方法 529
16.2.1 数据窗口属性表达式 529
16.2.2 数据窗口画板表达式 531
16.2.3 数据窗口对象属性的取值及其类型 532
16.2.4 数据窗口对象属性表达式的出错处理 532
16.3 数据窗口画板函数 533
16.3.1 聚合函数 533
16.3.2 数据类型检查与转换函数 546
16.3.3 数据窗口信息函数 550
16.3.4 日期、时间函数 554
16.3.5 数值运算函数 560
16.3.6 字符串操作函数 560
16.3.7 交叉表函数 561
16.3.8 其他画板函数 563
16.4 本章小结 564
第17章 数据管道 565
17.1 数据管道概述 565
17.2 创建对象 565
17.2.1 创建管道对象 565
17.2.2 创建支撑用户对象 567
17.2.3 创建窗口 568
17.3 初始化操作 568
17.4 启动数据管道 569
17.4.1 启动管道 569
17.4.2 显示管道操作的统计数据 569
17.4.3 终止管道运行 570
17.4.4 向数据库提交更新操作 570
17.5 处理行错误 571
17.5.1 使用管道错误数据窗口 571
17.5.2 修复错误行 571
17.5.3 放弃错误行 571
17.6 结束操作 572
17.7 数据库之间的数据传递 57217.8 派生数据管道子对象 575
17.9 系统集成 578
17.10 本章小结 581
第18章 数据存储与图表处理 582
18.1 数据存储 582
18.1.1 数据存储概述 582
18.1.2 使用数据存储 583
18.1.3 使用定制的数据存储对象 584
18.1.4 在数据存储中存取并操纵数据 586
18.1.5 信息共享 587
18.2 使用图表 588
18.2.1 改变图表属性 589
18.2.2 访问数据属性 590
18.2.3 ObjectAtPointer函数 592
18.2.4 使用图表控件 593
18.3 绘制图形 595
18.3.1 绘制基于DataWindow的图形 595
18.3.2 绘制基于Windows.SDK的图形 597
18.3.3 绘制基于图形组件的图形 601
18.4 本章小结 603
第19章 数据库开发常见问题与技巧 604
19.1 数据窗口设计 604
19.1.1 在数据窗口中任意角度显示文本 604
19.1.2 在数据窗口中调整列顺序 604
19.1.3 使数据窗口中的被选中行具有更好的外观 604
19.1.4 在DataWindow中多行显示Footer 605
19.1.5 单击数据窗口的列时标题的边框由3D raise改为3D lower 605
19.1.6 在程序中为数据窗口添加计算域或line 606
19.1.7 高亮显示分组条 606
19.1.8 在程序中随意修改数据窗口对象的各个带区、标题或格式等 606
19.1.9 在改变列的字体颜色时提醒用户此列已做修改 607
19.1.10 用PowerBuilder数据窗口特征制作进度条 607
19.1.11 美化数据窗口的显示效果 609
19.1.12 动态地改变数据窗口中的图形样式 609
19.1.13 在数据窗口中调出定时器实现动画 609
19.1.14 刷新下拉式数据窗口 610
19.1.15 实现在下拉列表控件中增加数据窗口中header部分的内容 610
19.1.16 在数据窗口中直接嵌入数据 611
19.1.17 在选择下拉数据窗口后动态保存 611
19.1.18 取得一个嵌套的数据窗口句柄 611
19.1.19 取得数据窗口中下拉数据窗口的显示值 611
19.1.20 实现图片按钮的Mousemove事件 612
19.1.21 表的定义发生改变后同步数据窗口列 612
19.1.22 在一个数据窗口中修改多个表 613
19.1.23 在数据窗口中限定某列不可编辑 614
19.1.24 在窗口退出时检测数据是否被修改 615
19.1.25 在数据窗口中快速删除多行 615
19.1.26 检测数据窗口中数据是否被修改 615
19.1.27 构造数据窗口源代码 616
19.1.28 创建一个动态的数据窗口对象 616
19.1.29 数据窗口如何自动匹配多个Retrieve参数 617
19.1.30 动态改变Grid数据窗口的字段显示顺序 618
19.1.31 终止Retreive 619
19.1.32 使用query mode 619
19.1.33 得到Crosstab中的列名 620
19.1.34 在PowerBuilder的数据窗口中捕捉dropdowndw列的上下键事件 621
19.1.35 给Grid样式添加一标题 622
19.1.36 在数据窗口中用左箭头实现shift+tab 622
19.1.37 设置数据窗口自动折行 623
19.1.38 使可编辑的数据窗口只读 623
19.1.39 设置数据窗口Boolean型属性 623
19.1.40 解决"双消息框"问题 623
19.1.41 编写行选择函数 624
19.1.42 生成可重用的数据窗口 627
19.2 配置连接数据库 629
19.2.1 将运行后的SQL Anywhere 7.0的窗口放到状态栏右下方的输入法旁边 629
19.2.2 备份和恢复Sybase和MS SQL Server数据库 629
19.2.3 PowerBuilder连接Sybase SQL Server时需要注意的问题 631
19.2.4 在PowerBuilder中向Excel传递数据 632
19.2.5 PowerBuilder中实现对Excel的操作 634
19.2.6 使用PowerBuilder同时访问多个数据库 635
19.3 数据窗口打印操作 636
19.3.1 分页打印数据窗口 636
19.3.2 在数据窗口每页打印固定行 636
19.3.3 使能控件在数据窗体中显示但不打印 637
19.3.4 在嵌套报表类型中实现连续页号打印多个数据窗口 637
19.3.5 将数据窗口打印到文件中 637
19.3.6 动态实现打印不固定的数据列 637
19.4 使用OLE控件 638
19.4.1 PowerBuilder与外界有的交互方式 638
19.4.2 在应用程序中放置一个OLE控件 640
19.4.3 设置OLE控件的属性 642
19.4.4 激活OLE对象 643
19.4.5 在PowerBuilder数据窗口中实现OLE 644
19.5 本章小结 645
第20章 高级窗体设计 646
20.1 主窗体菜单 646
20.1.1 制作菜单 646
20.1.2 建立主窗体并加载菜单 647
20.2 MDI应用程序设计 648
20.2.1 MDI窗口 648
20.2.2 建立MDI窗口 650
20.2.3 在MDI窗口中打开工作窗口 650
20.2.4 MDI窗口示例 652
20.3 Tab标签设计 654
20.3.1 Tab标签概述 654
20.3.2 定义并管理标签页 655
20.3.3 定制标签控件 656
20.3.4 设计自动缩放窗口控件 658
20.4 使用TreeView技术 666
20.4.1 TreeView概述 666
20.4.2 生成TreeView项 668
20.4.3 管理TreeView项 670
20.4.4 管理TreeView图标 672
20.4.5 利用数据窗口生成TreeView 673
20.4.6 设计Treeview 673
20.5 本章小结 678
第21章 用户对象和用户事件 679
21.1 用户对象概述 679
21.1.1 面向对象编程 679
21.1.2 用户对象的分类 680
21.2 创建用户对象 682
21.2.1 创建标准可视用户对象 682
21.2.2 创建定制可视用户对象 684
21.2.3 创建外部可视用户对象 685
21.2.4 创建定制类用户对象 686
21.2.5 创建标准类用户对象 687
21.2.6 继承创建 688
21.3 定制用户对象 689
21.3.1 插入不可视用户对象 689
21.3.2 插入结构 691
21.3.3 插入函数 691
21.3.4 插入事件 694
21.4 使用用户对象 694
21.4.1 使用可视用户对象 694
21.4.2 使用类用户对象 696
21.5 窗口与用户对象间的通信 701
21.5.1 直接引用用户对象属性 701
21.5.2 使用函数 702
21.5.3 使用用户事件 703
21.6 使用用户对象制作通用对话框 704
21.6.1 建立应用 705
21.6.2 建立函数 705
21.6.3 建立客户类 705
21.6.4 建立窗体 712
21.6.5 设置控件及其属性 712
21.6.6 编写窗体和各个控件的脚本 712
21.7 本章小结 715
第22章 管理库文件 716
22.1 库文件概述 716
22.1.1 库文件 716
22.1.2 库画板 717
22.2 管理PBL库 719
22.2.1 创建和删除库 719
22.2.2 创建动态库 720
22.2.3 优化库文件 721
22.2.4 设置搜索路径 721
22.2.5 重建与移植库 723
22.3 操作库与维护库及其对象 723
22.3.1 打开和预览对象 723
22.3.2 复制、移动、粘贴和删除对象 723
22.3.3 搜索目标程序、库和对象 724
22.3.4 导入和导出对象 725
22.3.5 生成库内容报告 726
22.4 根据已有的库文件创建目标 727
22.5 本章小结 729
第23章 PowerBuilder的Internet开发 730
23.1 PowerBuilder 9.0的Internet特性 730
23.1.1 DataWindow插件 730
23.1.2 Window插件 731
23.1.3 WindowActiveX插件 731
23.1.4 从数据窗口到HTML 731
23.2 PowerBuilder的邮件功能 732
23.2.1 MailSession对象 733
23.2.2 MailMessage对象 733
23.2.3 MailAddress()函数 733
23.2.4 MailDeleteMessage()函数 734
23.2.5 MailGetMessages()函数 734
23.2.6 MailHandle()函数 735
23.2.7 MailLogOn()函数 735
23.2.8 MailLogOff()函数 736
23.2.9 MailRecipientDetails()函数 736
23.2.10 MailReadMessage()函数 736
23.2.11 MailResolveRecipient()函数 737
23.2.12 MailSaveMessage()函数 738
23.2.13 MailSend()函数 738
23.3 在IE中显示PowerBuilder报表 738
23.3.1 编程思路 739
23.3.2 编程步骤 739
23.4 在IE中显示PowerBuilder的Child类型的窗口对象 744
23.5 使用Window ActiveX显示PowerBuilder窗口对象 750
23.6 本章小结 753
第24章 PowerBuilder自动服务器 754
24.1 自动化服务器概述 754
24.2 使用用户对象作为自动化服务器 755
24.2.1 创建类用户对象 755
24.2.2 建立对象的运行库 755
24.2.3 注册对象 756
24.2.4 编写客户代码 756
24.3 PowerBuider作为自动化服务器 757
24.3.1 定义所需访问的对象 757
24.3.2 生成运行库 758
24.3.3 编写客户代码 758
24.4 创建并使用命名服务器 760
24.5 通过自动化访问远程对象 761
24.6 用户对象及注册表 762
24.6.1 GUID、CLSID和ProgID标识 762
24.6.2 对象信息存储地点 762
24.6.3 创建注册信息 764
24.6.4 分发自动化服务器应用 765
24.6.5 PowerBuilder.Application服务器对象 766
24.7 本章小结 767
1.1 PowerBuilder的发展历程 1
1.2 PowerBuilder功能简介 1
1.2.1 事件驱动的应用程序 1
1.2.2 功能强大的开发技术 1
1.2.3 面向对象编程 3
1.2.4 强大的Web以及分布式开发能力 3
1.2.5 对事务的支持 3
1.3 PowerBuilder 9.0的新功能 3
1.4 本章小结 4
第2章 PowerBuilder 9.0的开发环境 5
2.1 安装和卸载PowerBuilder 9.0 5
2.1.1 安装PowerBuilder 9.0 5
2.1.2 卸载PowerBuilder 13
2.2 集成开发环境 14
2.2.1 运行PowerBuilder 9.0 14
2.2.2 菜单栏 16
2.2.3 工作区 19
2.2.4 工具栏 19
2.2.5 画板 20
2.2.6 获得帮助 20
2.3 一个简单数据库应用程序示例 21
2.3.1 快速生成一个应用程序 21
2.3.2 创建数据窗口 23
2.3.3 连接数据窗口 24
2.3.4 运行应用程序 26
2.4 本章小结 27
第3章 PowerBuilder 9.0编程基础 28
3.1 PowerScript语言基础 28
3.1.1 标识符、注释、代词 28
3.1.2 数据类型 29
3.1.3 变量与常量 31
3.1.4 数组 32
3.1.5 运算符 33
3.1.6 表达式 34
3.2 控制结构 35
3.2.1 条件分支结构 35
3.2.2 循环结构 36
3.2.3 返回和终止 38
3.3 函数结构 39
3.3.1 使用系统函数 39
3.3.2 创建自定义函数(Fuction) 41
3.3.3 函数调用 43
3.3.4 函数的重载和超越 43
3.3.5 结构的创建和使用 43
3.3.6 常用函数 45
3.4 使用SQL语句 47
3.4.1 常用SQL语句 47
3.4.2 SQL语句的执行结果检查 50
3.4.3 游标的使用 51
3.4.4 动态SQL语句 52
3.4.5 SQL查询示例 56
3.5 编程规范 60
第4章 应用对象和事务对象 62
4.1 应用对象概述 62
4.2 应用对象和应用对象画板 62
4.2.1 应用对象 62
4.2.2 应用库 62
4.2.3 应用对象画板 63
4.3 应用对象的事件 68
4.3.1 Open(打开)事件 68
4.3.2 Close(关闭)事件 69
4.3.3 Idle(空闲)事件 69
4.3.4 SystemError(系统出错)事件 69
4.3.5 ConnectBegin(连接开始)事件 69
4.3.6 ConnectEnd(连接结束)事件 70
4.3.7 编写应用对象的事件 70
4.4 使用代码编辑器 70
4.4.1 代码编辑器 70
4.4.2 编辑代码 71
4.4.3 粘贴函数 72
4.4.4 粘贴语句 73
4.4.5 代码编辑器的键盘操作 73
4.5 事务对象 74
4.5.1 事务对象概述 74
4.5.2 创建自定义事务对象 75
4.6 本章小结 76
第5章 对象的属性、事件和函数 77
5.1 公共对象函数 77
5.1.1 ClassName() 77
5.1.2 Drag() 77
5.1.3 GetContextService() 78
5.1.4 GetParent() 79
5.1.5 Hide() 79
5.1.6 Move() 80
5.1.7 PointerX() 81
5.1.8 PointerY() 81
5.1.9 PostEvent() 81
5.1.10 Print() 82
5.1.11 Resize() 83
5.1.12 SetFocus() 84
5.1.13 SetPosition() 84
5.1.14 SetRedraw() 85
5.1.15 Show() 86
5.1.16 TriggerEvent() 86
5.1.17 TypeOf() 88
5.2 应用对象 89
5.2.1 应用对象的属性 89
5.2.2 应用对象的事件 90
5.2.3 应用对象的函数 90
5.3 数组边界对象 92
5.3.1 数组边界对象的属性 92
5.3.2 数组边界对象的函数 92
5.4 类定义对象 93
5.4.1 类定义对象的属性 93
5.4.2 类定义对象的函数 94
5.5 上下文信息对象 95
5.5.1 上下文信息对象的属性 95
5.5.2 上下文信息对象的事件 95
5.5.3 上下文信息对象的函数 96
5.6 上下文关键字对象 100
5.6.1 上下文关键字对象的属性 100
5.6.2 上下文关键字对象的事件 100
5.6.3 上下文关键字对象的函数 100
5.7 C++对象 101
5.7.1 C++对象的属性 101
5.7.2 C++对象的事件 101
5.7.3 C++对象的函数 102
5.8 数据存储对象 102
5.8.1 数据存储对象的属性 102
5.8.2 数据存储对象的事件 102
5.8.3 数据存储对象的函数 103
5.9 子数据窗口对象 106
5.10 动态描述区对象 109
5.10.1 动态描述区对象的属性 109
5.10.2 动态描述区对象的事件 110
5.10.3 动态描述区对象的函数 110
5.11 DynamicStagingArea对象 115
5.11.1 DynamicStagingArea对象的事件 115
5.11.2 DynamicStagingArea对象的函数 115
5.12 枚举定义对象 115
5.12.1 枚举定义对象的属性 115
5.12.2 枚举定义对象的函数 116
5.13 枚举项定义对象 116
5.13.1 枚举项定义对象的属性 116
5.13.2 枚举项定义对象的函数 117
5.14 环境对象 117
5.14.1 环境对象的属性 117
5.14.2 环境对象的函数 117
5.15 出错对象 118
5.15.1 出错对象的属性 118
5.15.2 出错对象的事件 118
5.15.3 出错对象的函数 118
5.16 grAxis对象 119
5.16.1 grAxis对象的属性 119
5.16.2 grAxis对象的函数 120
5.17 grDispAttr对象 120
5.17.1 grDispAttr对象的属性 121
5.17.2 grDispAttr对象的函数 121
5.18 Inet对象 122
5.18.1 Inet对象的属性 122
5.18.2 Inet对象的事件 122
5.18.3 Inet对象的函数 122
5.19 InternetResult对象 124
5.19.1 InternetResult对象的属性 124
5.19.2 InternetResult对象的事件 124
5.19.3 InternetResult对象的函数 125
5.20 ListViewItem对象 125
5.20.1 ListViewItem对象的属性 125
5.20.2 ListViewItem对象的函数 126
5.21 mailFileDescription对象 126
5.21.1 mailFileDescription对象的属性 126
5.21.2 mailFileDescription对象的函数 126
5.22 邮件消息对象 127
5.22.1 邮件消息对象的属性 127
5.22.2 邮件消息对象的函数 127
5.23 邮件接收者对象 128
5.23.1 邮件接收者对象的属性 128
5.23.2 邮件接收者对象的函数 128
5.24 邮件会话对象 128
5.24.1 邮件会话对象的属性 128
5.24.2 邮件会话对象的事件 128
5.24.3 邮件会话对象的函数 129
5.25 MDIClient对象 138
5.25.1 MDIClient对象的属性 139
5.25.2 MDIClient对象的函数 139
5.26 菜单对象 139
5.26.1 菜单对象的属性 140
5.26.2 菜单对象的事件 140
5.26.3 菜单对象的函数 141
5.27 MenuCascade对象 144
5.27.1 MenuCascade对象的属性 144
5.27.2 MenuCascade对象的事件 145
5.27.3 MenuCascade对象的函数 145
5.28 消息对象 146
5.28.1 消息对象的属性 146
5.28.2 消息对象的事件 146
5.28.3 消息对象的函数 147
5.29 本章小结 147
第6章 窗体与菜单 148
6.1 窗体概述 148
6.1.1 主窗体(MainWindow) 148
6.1.2 弹出式窗体(Popup Window) 148
6.1.3 子窗体(Child Window) 149
6.1.4 响应窗体(Response Window) 149
6.1.5 MDI框架窗体和带微帮助的MDI框架窗体 149
6.2 窗体操作 149
6.2.1 窗体画板概述 149
6.2.2 创建新窗体 150
6.2.3 创建继承窗体 151
6.2.4 设计窗体属性 152
6.2.5 保存、预览、打印窗体 155
6.3 窗体事件和函数 156
6.3.1 窗体事件 156
6.3.2 窗体函数 158
6.4 窗体变量和窗体数组 161
6.4.1 窗体变量 161
6.4.2 窗体数组 161
6.5 制作身份验证窗体实例 162
6.5.1 在数据库中创建管理员信息表 162
6.5.2 建立窗体 162
6.5.3 设置、排列各个控件 163
6.5.4 编写窗体和各个控件的事件脚本 164
6.6 菜单概述 165
6.7 菜单操作 167
6.7.1 创建新菜单 167
6.7.2 修改菜单 168
6.7.3 设置菜单属性 170
6.8 菜单事件 172
6.8.1 菜单事件触发时机 172
6.8.2 编写菜单事件处理程序 172
6.9 制作弹出式菜单 172
6.9.1 弹出窗体上的菜单 172
6.9.2 弹出其他菜单 173
6.10 本章小结 173
第7章 控件 174
7.1 控件概述 174
7.1.1 控件的命名 175
7.1.2 控件的基本操作 177
7.1.3 控件的焦点与Tab次序 181
7.1.4 控件的标题和访问键 183
7.2 按钮控件 185
7.2.1 命令按钮 185
7.2.2 图形按钮 186
7.3 显示与编辑文本 186
7.3.1 静态文本(StaticText)控件 187
7.3.2 单行编辑框(SingleLineEdit) 187
7.3.3 多行编辑框(MultiLineEdit) 188
7.3.4 掩码编辑框(EditMask) 189
7.3.5 超文本编辑框(RichTextEdit) 190
7.4 单选钮、复选框与组框 191
7.4.1 单选钮(RadioButton) 191
7.4.2 复选框(CheckBox) 192
7.4.3 组框(GroupBox) 193
7.5 列表选择 194
7.5.1 列表框(ListBox) 194
7.5.2 图片列表框(PictureListBox) 196
7.5.3 下拉列表框(DropDownListBox) 197
7.5.4 下拉图片列表框 198
7.6 显示图像 198
7.7 使用树形视图控件 200
7.7.1 属性 201
7.7.2 添加与删除列表项 202
7.7.3 事件 205
7.8 使用列表视图控件 206
7.8.1 列表视图的属性 206
7.8.2 增加与删除列表项 208
7.8.3 事件 211
7.9 使用标签控件 212
7.9.1 相关概念 212
7.9.2 建立标签控件 212
7.9.3 属性 214
7.9.4 事件 217
7.10 集成其他应用 218
7.10.1 放入OLE控件 218
7.10.2 设置OLE控件 220
7.10.3 激活OLE对象的方法 221
7.10.4 使用BLOB类型 222
7.10.5 访问Excel数据 223
7.10.6 访问Word数据 226
7.11 本章小结 229
第8章 报表 230
8.1 报表概述 230
8.1.1 选择表现风格和数据源 230
8.1.2 设置结果集和修改属性 231
8.1.3 在服务器和客户机间共享 232
8.1.4 数据窗口和报表区 233
8.1.5 数据窗口画板选项 233
8.2 打印报表 234
8.2.1 控制打印规范 234
8.2.2 与打印相关的函数 235
8.2.3 与打印相关的事件 236
8.3 制作打印报表单 237
8.3.1 数据窗口数据项的选择与设置 237
8.3.2 调整控件大小 237
8.3.3 利用系统控件强化报表的统计显示功能 238
8.4 选择并打印报表 239
8.4.1 建立数据窗口 240
8.4.2 建立窗体 241
8.4.3 设置控件及其属性 242
8.4.4 编写控件脚本 242
第9章 程序调试与发布 244
9.1 程序调试 244
9.1.1 查看脚本窗口 244
9.1.2 资源浏览窗口 244
9.1.3 查看变量窗口 244
9.1.4 断点查看窗口 245
9.2 断点操作 245
9.2.1 调试应用程序的切换 245
9.2.2 设置断点 246
9.3 调试方法 248
9.3.1 调试的开始、继续和停止 248
9.3.2 其他调试方法 248
9.4 查看信息 249
9.4.1 查看各种变量值 249
9.4.2 查看其他信息 249
9.4.3 运行错误解释 251
9.5 发布应用程序 252
9.5.1 概述 252
9.5.2 建立工程对象 253
9.5.3 编译生成各类对象 254
9.5.4 编译生成可执行应用程序 254
9.6 制作安装盘 259
9.6.1 找出软件发布的所有必需文件 259
9.6.2 确保软件的目录结构同软件一致 259
9.6.3 在注册表里的设置 259
9.6.4 确定要生成的程序包的名字和目标 260
9.7 本章小结 260
第10章 应用程序开发常见问题与技巧 261
10.1 环境配置 261
10.1.1 生成应用程序需要的DLL文件 261
10.1.2 应用程序脱离开发环境运行 261
10.1.3 安装Adaptive Server Anywhere后如何创建数据库 262
10.1.4 在File菜单中显示Create Database选项 262
10.1.5 编程优化数据库查询 262
10.1.6 动态调用函数 264
10.1.7 对应用程序进行代码维护 265
10.2 窗体与菜单设计 268
10.2.1 创建图标栏应用 268
10.2.2 创建美观的状态条 270
10.2.3 在Response窗口中使用Menu 270
10.2.4 移动窗口中的控件 271
10.2.5 捕获控制菜单中的Close事件 271
10.2.6 将可视控件放置于其他的控件上 271
10.2.7 实现动态显示控件 272
10.2.8 动态创建可视控件 272
10.2.9 使用多窗口实例 273
10.2.10 在实例窗口中引用控件 274
10.2.11 向窗口传递多个参数 275
10.2.12 设计实时帮助条 275
10.2.13 实现“跑马灯” 276
10.2.14 实现右键菜单 276
10.3 事务管理 276
10.3.1 如何设置数据窗口控件的事务对象 276
10.3.2 进行内部事务管理 277
10.3.3 使用一个独立的事务对象进行事务管理 278
10.3.4 为数据库连接参数赋值 279
10.3.5 用数据库的事务管理指令实现完全控制 281
10.3.6 消除内存漏洞 281
10.3.7 进行数据访问 281
10.3.8 同时连到多个RDBMS 282
10.3.9 使用事务对象进行数据库检索和更新 282
10.4 操作OCX控件 283
10.4.1 在PowerBuilder中实现对有关串口的编程 283
10.4.2 在PowerBuilder中使用OCX控件 284
10.4.3 实现动态的Splash封面文件 285
10.4.4 用PowerBuilder开发多媒体播放器 286
10.4.5 利用OCX控件制作状态条 287
10.4.6 利用OCX控件制作日历 288
10.4.7 利用OCX控件制作动态按钮或动态图片 288
10.5 控制应用程序 289
10.5.1 触发另一个应用程序中用户事件 289
10.5.2 调用Windows的输入法 289
10.5.3 使用游标 290
10.5.4 用PowerBuilder调用Windows的API函数 291
10.5.5 调用API函数从串口通信中获取程控交换机计费数据 291
10.5.6 调用外部程序及判断其完成 293
10.5.7 播放声音文件 294
10.5.8 动态监控资源 295
10.5.9 控制由Run运行的程序 296
10.5.10 只运行一次应用程序 297
10.5.11 在应用程序中启动控制面板 297
10.5.12 在循环中途实现退出 298
10.6 操作Windows系统 298
10.6.1 利用API函数建立Windows风格的About对话框 298
10.6.2 在程序中切换中英文输入法 299
10.6.3 获取驱动器类型 299
10.6.4 获取键盘类型 300
10.6.5 获取硬盘容量 300
10.6.6 制作闪动标题栏 300
10.6.7 获取用户登记标识ID 301
10.6.8 将指定的窗口带至窗口列表顶部 301
10.6.9 取得驱动器的卷标 302
10.6.10 调用HTML格式的帮助文件 302
10.6.11 关闭/打开DOS窗口 303
10.6.12 获得Windows系统目录 303
10.6.13 利用左右键及回车键转移列的焦点 304
10.6.14 使PowerBuilder窗口总在最上层 304
10.6.15 隐藏/显示Windows的任务栏 305
10.6.16 把长文件名转换为短文件名 306
10.6.17 获取目录信息 306
10.7 本章小结 308
第11章 数据库管理基础 309
11.1 数据库的基本概念 309
11.1.1 列(Column) 309
11.1.2 行(Row) 309
11.1.3 数据类型(Type) 309
11.1.4 主键(Primary Key) 310
11.1.5 外键(Foreign Key) 310
11.2 PowerBulider的数据库接口 310
11.2.1 标准数据库接口 310
11.2.2 专用数据库接口 311
11.3 数据库画板 311
11.3.1 数据库画板窗口 311
11.3.2 数据库画板功能 312
11.3.3 修改数据库选项 313
11.4 创建和删除数据库 313
11.4.1 创建数据库 314
11.4.2 删除数据库 314
11.5 操作数据库表 315
11.5.1 表的创建与删除 315
11.5.2 定义表的属性、列的属性和扩展属性 316
11.5.3 表的索引 318
11.5.4 表的主键、外键 318
11.5.5 操作数据 320
11.6 本章小结 321
第12章 数据窗口设计 322
12.1 数据窗口设计 322
12.2 数据窗口显示 325
12.2.1 列表(Tabular) 325
12.2.2 交叉列表(Crosstab) 326
12.2.3 自由格式(Freeform) 326
12.2.4 统计图(Graph) 326
12.2.5 表格(Grid) 327
12.2.6 分组(Group) 327
12.2.7 标签(Label) 327
12.2.8 分栏(N-Up) 328
12.2.9 外部文本(OLE 2.0) 328
12.2.10 超文本(RichText) 328
12.2.11 复合(Composite) 328
12.3 数据窗口数据源 328
12.3.1 Quick Select数据源 328
12.3.2 SQL Select数据源 329
12.3.3 Query数据源 329
12.3.4 External数据源 330
12.3.5 Stored Procedure数据源 331
12.4 操作数据窗口对象 332
12.4.1 划分区域 332
12.4.2 添加和删除列 332
12.4.3 计算字段 333
12.4.4 过滤数据 335
12.4.5 数据排序 336
12.4.6 指定检索数据方式 337
12.4.7 增加数据窗口数据 337
12.5 数据窗口控件的属性、事件和函数 341
12.5.1 数据窗口控件的属性 341
12.5.2 数据窗口控件的事件 342
12.5.3 数据窗口控件的常用函数 344
12.6 本章小结 347
第13章 数据窗口事件 348
13.1 连接数据库 348
13.2 数据窗口画板 349
13.2.1 设计视图 349
13.2.2 属性视图 350
13.2.3 控件列表视图 350
13.2.4 预览视图 351
13.2.5 数据视图 352
13.2.6 列定义视图 352
13.3 使用事务对象 353
13.3.1 事务对象概念及属性 353
13.3.2 操作事务对象 353
13.3.3 全局事务对象--SQLCA 354
13.4 读取数据窗口缓冲区内容 357
13.4.1 数据窗口缓冲区 357
13.4.2 在数据窗口控件中读取数据 360
13.4.3 利用数据列更新事件实现数据库修改 363
13.5 存取数据窗口对象的属性 369
13.5.1 数据窗口对象属性 369
13.5.2 使用函数存取对象属性 369
13.5.3 使用表达式存取对象属性 370
13.6 共享数据窗口缓冲区 370
13.6.1 共享概述 370
13.6.2 共享条件 370
13.6.3 数据共享应用 371
13.6.4 数据窗口函数对共享的影响 371
13.7 本章小结 372
第14章 连接数据库 373
14.1 概述 373
14.1.1 软件安装 373
14.1.2 连接到ODBC数据库 374
14.1.3 专用接口的一般连接步骤 376
14.2 使用数据库维护画板 378
14.2.1 编写和执行SQL语句 378
14.2.2 保存与读入SQL语句 379
14.3 PowerBuilder资源库 379
14.4 创建与编辑显示格式 379
14.4.1 数值型显示格式 380
14.4.2 字符串显示格式 381
14.4.3 日期显示格式 382
14.4.4 时间显示格式 383
14.5 创建编辑风格 383
14.5.1 编辑框风格(EditBox) 384
14.5.2 编辑掩码风格(EditMask) 385
14.5.3 复选框风格(CheckBox) 385
14.5.4 单选钮风格(RadioButton) 385
14.5.5 下拉列表框风格(DropDownListBox) 386
14.5.6 下拉数据窗口风格(DropDownDataWindow) 386
14.6 创建有效性规则 386
14.7 数据库配置连接 388
14.7.1 选择数据库管理系统 389
14.7.2 数据库设计 389
14.7.3 配置数据库并连接 389
14.8 本章小结 394
第15章 数据窗口控件的属性、事件和函数 395
15.1 数据窗口控件的属性 395
15.2 数据窗口控件的事件 396
15.3 数据窗口控件的函数 398
15.3.1 AcceptText() 402
15.3.2 CanUndo() 403
15.3.3 CategoryCount() 403
15.3.4 CategoryName() 404
15.3.5 Clear() 404
15.3.6 ClearValues() 405
15.3.7 Clipboard() 405
15.3.8 Copy() 405
15.3.9 CopyRTF() 406
15.3.10 Create() 406
15.3.11 CrosstabDialog() 408
15.3.12 Cut() 409
15.3.13 DataCount() 409
15.3.14 DBCancel() 410
15.3.15 DBErrorCode() 411
15.3.16 DBErrorMessage() 411
15.3.17 DeletedCount() 411
15.3.18 DeleteRow() 411
15.3.19 Describe() 412
15.3.20 Filter() 415
15.3.21 FilteredCount() 416
15.3.22 Find() 416
15.3.23 FindCategory() 418
15.3.24 FindGroupChange() 418
15.3.25 FindNext() 419
15.3.26 FindRequired() 419
15.3.27 FindSeries() 420
15.3.28 GenerateHTMLForm() 420
15.3.29 GetBandAtPointer() 421
15.3.30 GetBorderStyle() 422
15.3.31 GetChild() 423
15.3.32 GetClickedColumn() 424
15.3.33 GetColumn() 424
15.3.34 GetColumnName() 425
15.3.35 GetData() 425
15.3.36 GetDataPieExplode() 426
15.3.37 GetDataStyle() 426
15.3.38 GetDataValue() 429
15.3.39 GetFormat() 430
15.3.40 GetItemDate() 430
15.3.41 GetItemDateTime() 432
15.3.42 GetItemDecimal() 433
15.3.43 GetItemNumber() 434
15.3.44 GetItemStatus() 436
15.3.45 GetItemString() 437
15.3.46 GetItemTime() 438
15.3.47 GetMessageText() 439
15.3.48 GetNextModified() 439
15.3.49 GetObjectAtPointer() 440
15.3.50 GetRow() 441
15.3.51 GetSelectedRow() 441
15.3.52 GetSeriesStyle() 442
15.3.53 GetSQLPreview() 444
15.3.54 GetSQLSelect() 445
15.3.55 GetText() 445
15.3.56 GetTrans() 446
15.3.57 GetUpdateStatus() 447
15.3.58 GetValidate() 447
15.3.59 GetValue() 447
15.3.60 GroupCalc() 448
15.3.61 ImportClipboard() 449
15.3.62 ImportFile() 449
15.3.63 ImportString() 450
15.3.64 InsertDocument() 451
15.3.65 InsertRow() 452
15.3.66 IsSelected() 452
15.3.67 LineCount() 453
15.3.68 ModifiedCount() 454
15.3.69 Modify() 454
15.3.70 ObjectAtPointer() 462
15.3.71 OLEActivate() 463
15.3.72 Paste() 464
15.3.73 PasteRTF() 464
15.3.74 Position() 464
15.3.75 Print() 465
15.3.76 PrintCancel() 467
15.3.77 ReplaceText() 467
15.3.78 ReselectRow() 467
15.3.79 Reset() 468
15.3.80 ResetDataColors() 469
15.3.81 ResetTransObject() 469
15.3.82 ResetUpdate() 470
15.3.83 Retrieve() 470
15.3.84 RowCount() 472
15.3.85 RowsCopy() 473
15.3.86 RowsDiscard() 474
15.3.87 RowsMove() 475
15.3.88 SaveAs() 476
15.3.89 Scroll() 478
15.3.90 ScrollNextPage() 478
15.3.91 ScrollNextRow() 479
15.3.92 ScrollPriorPage() 479
15.3.93 ScrollPriorRow() 480
15.3.94 ScrollToRow() 480
15.3.95 SelectedLength() 481
15.3.96 SelectedLine() 481
15.3.97 SelectedStart() 481
15.3.98 SelectedText() 482
15.3.99 SelectRow() 482
15.3.100 SelectText() 483
15.3.101 SelectTextAll() 484
15.3.102 SelectTextLine() 484
15.3.103 SelectTextWord() 484
15.3.104 SeriesCount() 484
15.3.105 SeriesName() 485
15.3.106 SetActionCode() 485
15.3.107 SetBorderStyle() 485
15.3.108 SetColumn() 486
15.3.109 SetDataPieExplode() 487
15.3.110 SetDataStyle() 487
15.3.111 SetDetailHeight() 489
15.3.112 SetFilter() 490
15.3.113 SetFormat() 491
15.3.114 SetItem() 492
15.3.115 SetItemStatus() 492
15.3.116 SetRow() 494
15.3.117 SetRowFocusIndicator() 494
15.3.118 SetSeriesStyle() 495
15.3.119 SetSort() 497
15.3.120 SetSQLPreview() 498
15.3.121 SetSQLSelect() 499
15.3.122 SetTabOrder() 500
15.3.123 SetText() 500
15.3.124 SetTrans() 501
15.3.125 SetTransObject() 502
15.3.126 SetValidate() 504
15.3.127 SetValue() 505
15.3.128 ShareData() 506
15.3.129 ShareDataOff() 508
15.3.130 ShowHeadFoot() 508
15.3.131 Sort() 509
15.3.132 TextLine() 509
15.3.133 Undo() 510
15.3.134 Update() 510
15.4 本章小结 511
第16章 数据窗口对象的属性、方法和函数 512
16.1 数据窗口对象的属性 512
16.1.1 位图(Bitmap)对象的属性 512
16.1.2 按钮(Button)对象的属性 513
16.1.3 列(Column)对象的属性 514
16.1.4 计算域(Computed field)对象的属性 518
16.1.5 DataWindow对象的属性 520
16.1.6 组框(GroupBox)对象的属性 524
16.1.7 直线(Line)对象的属性 525
16.1.8 椭圆(Oval)、矩形(Rectangle)、圆角矩形(RoundRectangle)对象的属性 526
16.1.9 报表(Report)对象的属性 526
16.1.10 表(TableBlob)对象的属性 527
16.1.11 文本(Text)对象的属性 528
16.2 数据窗口对象属性的访问方法 529
16.2.1 数据窗口属性表达式 529
16.2.2 数据窗口画板表达式 531
16.2.3 数据窗口对象属性的取值及其类型 532
16.2.4 数据窗口对象属性表达式的出错处理 532
16.3 数据窗口画板函数 533
16.3.1 聚合函数 533
16.3.2 数据类型检查与转换函数 546
16.3.3 数据窗口信息函数 550
16.3.4 日期、时间函数 554
16.3.5 数值运算函数 560
16.3.6 字符串操作函数 560
16.3.7 交叉表函数 561
16.3.8 其他画板函数 563
16.4 本章小结 564
第17章 数据管道 565
17.1 数据管道概述 565
17.2 创建对象 565
17.2.1 创建管道对象 565
17.2.2 创建支撑用户对象 567
17.2.3 创建窗口 568
17.3 初始化操作 568
17.4 启动数据管道 569
17.4.1 启动管道 569
17.4.2 显示管道操作的统计数据 569
17.4.3 终止管道运行 570
17.4.4 向数据库提交更新操作 570
17.5 处理行错误 571
17.5.1 使用管道错误数据窗口 571
17.5.2 修复错误行 571
17.5.3 放弃错误行 571
17.6 结束操作 572
17.7 数据库之间的数据传递 57217.8 派生数据管道子对象 575
17.9 系统集成 578
17.10 本章小结 581
第18章 数据存储与图表处理 582
18.1 数据存储 582
18.1.1 数据存储概述 582
18.1.2 使用数据存储 583
18.1.3 使用定制的数据存储对象 584
18.1.4 在数据存储中存取并操纵数据 586
18.1.5 信息共享 587
18.2 使用图表 588
18.2.1 改变图表属性 589
18.2.2 访问数据属性 590
18.2.3 ObjectAtPointer函数 592
18.2.4 使用图表控件 593
18.3 绘制图形 595
18.3.1 绘制基于DataWindow的图形 595
18.3.2 绘制基于Windows.SDK的图形 597
18.3.3 绘制基于图形组件的图形 601
18.4 本章小结 603
第19章 数据库开发常见问题与技巧 604
19.1 数据窗口设计 604
19.1.1 在数据窗口中任意角度显示文本 604
19.1.2 在数据窗口中调整列顺序 604
19.1.3 使数据窗口中的被选中行具有更好的外观 604
19.1.4 在DataWindow中多行显示Footer 605
19.1.5 单击数据窗口的列时标题的边框由3D raise改为3D lower 605
19.1.6 在程序中为数据窗口添加计算域或line 606
19.1.7 高亮显示分组条 606
19.1.8 在程序中随意修改数据窗口对象的各个带区、标题或格式等 606
19.1.9 在改变列的字体颜色时提醒用户此列已做修改 607
19.1.10 用PowerBuilder数据窗口特征制作进度条 607
19.1.11 美化数据窗口的显示效果 609
19.1.12 动态地改变数据窗口中的图形样式 609
19.1.13 在数据窗口中调出定时器实现动画 609
19.1.14 刷新下拉式数据窗口 610
19.1.15 实现在下拉列表控件中增加数据窗口中header部分的内容 610
19.1.16 在数据窗口中直接嵌入数据 611
19.1.17 在选择下拉数据窗口后动态保存 611
19.1.18 取得一个嵌套的数据窗口句柄 611
19.1.19 取得数据窗口中下拉数据窗口的显示值 611
19.1.20 实现图片按钮的Mousemove事件 612
19.1.21 表的定义发生改变后同步数据窗口列 612
19.1.22 在一个数据窗口中修改多个表 613
19.1.23 在数据窗口中限定某列不可编辑 614
19.1.24 在窗口退出时检测数据是否被修改 615
19.1.25 在数据窗口中快速删除多行 615
19.1.26 检测数据窗口中数据是否被修改 615
19.1.27 构造数据窗口源代码 616
19.1.28 创建一个动态的数据窗口对象 616
19.1.29 数据窗口如何自动匹配多个Retrieve参数 617
19.1.30 动态改变Grid数据窗口的字段显示顺序 618
19.1.31 终止Retreive 619
19.1.32 使用query mode 619
19.1.33 得到Crosstab中的列名 620
19.1.34 在PowerBuilder的数据窗口中捕捉dropdowndw列的上下键事件 621
19.1.35 给Grid样式添加一标题 622
19.1.36 在数据窗口中用左箭头实现shift+tab 622
19.1.37 设置数据窗口自动折行 623
19.1.38 使可编辑的数据窗口只读 623
19.1.39 设置数据窗口Boolean型属性 623
19.1.40 解决"双消息框"问题 623
19.1.41 编写行选择函数 624
19.1.42 生成可重用的数据窗口 627
19.2 配置连接数据库 629
19.2.1 将运行后的SQL Anywhere 7.0的窗口放到状态栏右下方的输入法旁边 629
19.2.2 备份和恢复Sybase和MS SQL Server数据库 629
19.2.3 PowerBuilder连接Sybase SQL Server时需要注意的问题 631
19.2.4 在PowerBuilder中向Excel传递数据 632
19.2.5 PowerBuilder中实现对Excel的操作 634
19.2.6 使用PowerBuilder同时访问多个数据库 635
19.3 数据窗口打印操作 636
19.3.1 分页打印数据窗口 636
19.3.2 在数据窗口每页打印固定行 636
19.3.3 使能控件在数据窗体中显示但不打印 637
19.3.4 在嵌套报表类型中实现连续页号打印多个数据窗口 637
19.3.5 将数据窗口打印到文件中 637
19.3.6 动态实现打印不固定的数据列 637
19.4 使用OLE控件 638
19.4.1 PowerBuilder与外界有的交互方式 638
19.4.2 在应用程序中放置一个OLE控件 640
19.4.3 设置OLE控件的属性 642
19.4.4 激活OLE对象 643
19.4.5 在PowerBuilder数据窗口中实现OLE 644
19.5 本章小结 645
第20章 高级窗体设计 646
20.1 主窗体菜单 646
20.1.1 制作菜单 646
20.1.2 建立主窗体并加载菜单 647
20.2 MDI应用程序设计 648
20.2.1 MDI窗口 648
20.2.2 建立MDI窗口 650
20.2.3 在MDI窗口中打开工作窗口 650
20.2.4 MDI窗口示例 652
20.3 Tab标签设计 654
20.3.1 Tab标签概述 654
20.3.2 定义并管理标签页 655
20.3.3 定制标签控件 656
20.3.4 设计自动缩放窗口控件 658
20.4 使用TreeView技术 666
20.4.1 TreeView概述 666
20.4.2 生成TreeView项 668
20.4.3 管理TreeView项 670
20.4.4 管理TreeView图标 672
20.4.5 利用数据窗口生成TreeView 673
20.4.6 设计Treeview 673
20.5 本章小结 678
第21章 用户对象和用户事件 679
21.1 用户对象概述 679
21.1.1 面向对象编程 679
21.1.2 用户对象的分类 680
21.2 创建用户对象 682
21.2.1 创建标准可视用户对象 682
21.2.2 创建定制可视用户对象 684
21.2.3 创建外部可视用户对象 685
21.2.4 创建定制类用户对象 686
21.2.5 创建标准类用户对象 687
21.2.6 继承创建 688
21.3 定制用户对象 689
21.3.1 插入不可视用户对象 689
21.3.2 插入结构 691
21.3.3 插入函数 691
21.3.4 插入事件 694
21.4 使用用户对象 694
21.4.1 使用可视用户对象 694
21.4.2 使用类用户对象 696
21.5 窗口与用户对象间的通信 701
21.5.1 直接引用用户对象属性 701
21.5.2 使用函数 702
21.5.3 使用用户事件 703
21.6 使用用户对象制作通用对话框 704
21.6.1 建立应用 705
21.6.2 建立函数 705
21.6.3 建立客户类 705
21.6.4 建立窗体 712
21.6.5 设置控件及其属性 712
21.6.6 编写窗体和各个控件的脚本 712
21.7 本章小结 715
第22章 管理库文件 716
22.1 库文件概述 716
22.1.1 库文件 716
22.1.2 库画板 717
22.2 管理PBL库 719
22.2.1 创建和删除库 719
22.2.2 创建动态库 720
22.2.3 优化库文件 721
22.2.4 设置搜索路径 721
22.2.5 重建与移植库 723
22.3 操作库与维护库及其对象 723
22.3.1 打开和预览对象 723
22.3.2 复制、移动、粘贴和删除对象 723
22.3.3 搜索目标程序、库和对象 724
22.3.4 导入和导出对象 725
22.3.5 生成库内容报告 726
22.4 根据已有的库文件创建目标 727
22.5 本章小结 729
第23章 PowerBuilder的Internet开发 730
23.1 PowerBuilder 9.0的Internet特性 730
23.1.1 DataWindow插件 730
23.1.2 Window插件 731
23.1.3 WindowActiveX插件 731
23.1.4 从数据窗口到HTML 731
23.2 PowerBuilder的邮件功能 732
23.2.1 MailSession对象 733
23.2.2 MailMessage对象 733
23.2.3 MailAddress()函数 733
23.2.4 MailDeleteMessage()函数 734
23.2.5 MailGetMessages()函数 734
23.2.6 MailHandle()函数 735
23.2.7 MailLogOn()函数 735
23.2.8 MailLogOff()函数 736
23.2.9 MailRecipientDetails()函数 736
23.2.10 MailReadMessage()函数 736
23.2.11 MailResolveRecipient()函数 737
23.2.12 MailSaveMessage()函数 738
23.2.13 MailSend()函数 738
23.3 在IE中显示PowerBuilder报表 738
23.3.1 编程思路 739
23.3.2 编程步骤 739
23.4 在IE中显示PowerBuilder的Child类型的窗口对象 744
23.5 使用Window ActiveX显示PowerBuilder窗口对象 750
23.6 本章小结 753
第24章 PowerBuilder自动服务器 754
24.1 自动化服务器概述 754
24.2 使用用户对象作为自动化服务器 755
24.2.1 创建类用户对象 755
24.2.2 建立对象的运行库 755
24.2.3 注册对象 756
24.2.4 编写客户代码 756
24.3 PowerBuider作为自动化服务器 757
24.3.1 定义所需访问的对象 757
24.3.2 生成运行库 758
24.3.3 编写客户代码 758
24.4 创建并使用命名服务器 760
24.5 通过自动化访问远程对象 761
24.6 用户对象及注册表 762
24.6.1 GUID、CLSID和ProgID标识 762
24.6.2 对象信息存储地点 762
24.6.3 创建注册信息 764
24.6.4 分发自动化服务器应用 765
24.6.5 PowerBuilder.Application服务器对象 766
24.7 本章小结 767
猜您喜欢