PowerBuilder 9.0程序设计与开发技术大全

PowerBuilder 9.0程序设计与开发技术大全
作 者: 求是科技编著
出版社: 人民邮电出版社
丛编项: 软件工程师开发技术大全
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 软件工具 PowerBuilder
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《PowerBuilder 9.0程序设计与开发技术大全》作者简介

内容简介

本书通过大量有代表性的开发实例,向读者介绍和讲解了使用PowerBuilder 9.0提供的工具来开发所需要系统的方法及相关的编程技巧,这些实例几乎囊括了应用PowerBuilder 9.0进行程序开发的所有知识。全书分为3个部分:应用程序开发篇、数据库开发篇、高级应用篇。3个部分既相互独立又相互联系,一步步引导读者深入学习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