PowerBuilder高级客户/服务器开发

PowerBuilder高级客户/服务器开发
作 者: Bruce Armstrong Millard Brown III 李洪发
出版社: 机械工业出版社
丛编项: 开发人员专业技术丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: Powerbuilder
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  BurceArmstrong是洛杉矶区的独立咨询顾问。他是TeamSybase的发起人这一,从第一个版本就开始使用PowerBuildre。Brucej是《PowerBuilder4.0SecretsoftheMasters》的作者之一,还是《PowerBuildreDeveloper’sJournal》编辑委员会的成员,在该杂志已经发表了多篇文章,包括每月的新闻专栏。

内容简介

通过定制类的设计、命令行选项和清单文件、提供全新的集成开发环境(IDE),并且可以添加用户自己的选项。使用ORCAScript实现应用程序构建的自动化,并且利用新的PowerBuilderRuntimePackage部署编译后的应用。通过使用定制表单样式、定制imstyle9.pbl以及提供适当的代码,极大地扩展了Infomaker的功能。充分利用DataWindow的全部功能,包括一些新的特征,例如XML和PDF的生成等。通过PBNI开发PowerBuilder扩展(非可视化或者可视化对象以及全局函数。

图书目录

作者简介

前言

第一部分PowerBuilder开发环境

第1章 PowerBuilder集成开发环境

1.1 目标

1.2 IDE的发展历史

1.3 工作区和目标

1.3.1 工作区

1.3.2 目标

1.4 IDE研究

1.4.1 IDE工具栏

1.4.2 IDE菜单选项

1.4.3 System Tree

1.4.4 Clip window

1.4.5 Output Window

1.4.6 Design Area

1.5 IDE的其他有用特性

1.5.1 To Do List(任务列表)

1.5.2 Keyboard Shortcuts(键盘快捷键)

1.5.3 配置、跟踪和调试

1.5.4 其他工具

1.6 IDE的高级特性

1.7 小结

第2章 源代码控制

2.1 目标

2.2 为什么要实现版本控制

2.3 PowerBuilder和SCC的集成

2.3.1 PowerBuilder与scc集成的发展简介

2.3.2 早期的代码管理体系结构

2.3.3 SCC接口中体系结构的变化

2.3.4 新的SCC文件类型

2.3.5 PBNative的体系结构变化

2.4 PowerBuilder 8和PowerBuilder 9中IDE的变化

2.4.1 工作区属性对话框

2.4.2 安装注意事项

2.4.3 系统树和库画板SCC图标

2.4.4 库画板

2.5 源代码控制菜单

2.5.1 工作区级上下文菜单

2.5.2 目标级上下文菜单

2.5.3 PBL级上下文菜单

2.5.4 对象级上下文菜单

2.6 源代码控制操作

2.6.1 Add to Source Control(添加到源代码控制)

2.6.2 Remove from Source Control(从源代码控制中删除)

2.6.3 Refresh Status(状态刷新)

2.6.4 Check Out(签出)

2.6.5 Check In(签入)

2.6.6 Undo Checkout(撤销签出)

2.6.7 Get Latest Version(获取最新版本)

2.6.8 Show Differences(差别显示)

2.6.9 Show History(历史显示)

2.6.10 SCC Propenies(SCC属性)

2.6.11 Backup SCC Status Cache(备份SCC状态缓存)

2.6.12 Run Source Control Management Tool(运行源代码控制管理工具)

2.6.13 Advrdnced 0ptions(高级选项)

2.7 PowerBuilder 9中有效的SCC实现

2.8 工程工作区和目标的计划

2.9 PB 9中PBNative的设置

2.9.1 第一步--文件夹和PBL的结构调整

2.9.2 第二步--创建工作区和目标

2.9.3 第三步--设置PBNative知识库

2.9.4 第四步--添加其他开发者

2.9.5 第五步--有选择地使用工作PBL

2.10 第三方SCC提供程序的设置

2.11 PowerBuilder 9的分支与合并

2.11.1 初始化设置和注册

2.11.2 常用操作

2.11.3 建立分支工作区和视图

2.12 第三方SCC提供程序简介

2.13 小结

第3章 应用程序的编译和部署

3.1 目标

3.2 这些年PowerBuilder部署的发展

3.3 PowerBuilder 9中应用程序的部署

3.3.1 编译器基础

3.3.2 应用程序包

3.3.3 动态运行库的使用

3.3.4 外部资源的使用

3.3.5 工程画板

3.3.6 目标级部署

3.3.7 工作区级部署

3.3.8 构建运行库

3.4 使用0rcaScript的命令行部署

3.4.1 简介

3.4.2 体系结构

3.4.3 OrcaScript命令参考

3.4.4 PowerGen

3.5 向终端用户交付完成的应用程序

3.5.1 环境组件

3.5.2 应用程序组件

3.6 其他提示和技巧

3.6.1 将版本信息构建进可执行文件

3.6.2 从数据库中部署应用程序

3.7 小结

第4章 lnfoMaker

4.1 目标

4.2 InfoMaker环境

4.2.1 库画板

4.2.2 报表画板

4.2.3 管道和数据库画板

4.2.4 表单画板

4.3 部署

4.4 新特性

4.4.1 可执行文件的版本编号

4.4.2 命令行参数

4.4.3 新的文件存储格式

4.4.4 XML

4.5 在何处使用PowerBuilder

4.5.1 自定义表单样式

4.5.2 默认表单样式

4.5.3 行为

4.5.4 注册表中工具栏的设置

4.5.5 非默认的表单样式

4.6 自定义Imstyle9.pbl

4.7 局限性

4.8 代码的调试

4.9 在InfoMakef表单中不使用PowerBuilder编写代码

4.10 小结

第5章 高级编码技术

5.1 目标

5.2 开发环境

5.2.1 设置开发环境

5.2.2 操作系统的支持(XP)

5.2.3 库的组织

5.2.4 库的维护

5.3 IDE

5.3.1 快捷键的使用

5.3.2 PowerPanel的扩展

5.4 编码

5.4.1 编码框架

5.4.2 事件又是怎样的呢

5.4.3 异常处理

5.4.4 性能

5.4.5 性能小结

5.5 数据库的独立性

5.5.1 数据库设计

5.5.2 DataWindow

5.5.3 嵌入式SQL

5.6 小结

第二部分 DataWindow

第6章 高级DataWindow技术

6.1 目标

6.2 使用表达式

6.2.1 设计时的表达式

6.2.2 布尔计算

6.2.3 其他计算

6.2.4 运行时的表达式

6.2.5 使用带的表达式

6.2.6 使用形状的表达式

6.3 DataWindow报告

6.3.1 嵌套报告

6.3.2 复合报告

6.3.3 动态嵌套报告

6.3.4 复合和嵌套的区别在哪里

6.4 动态SQL

6.4.1 动态SQL(格式1)

6.4.2 动态SQL(格式2)

6.4.3 动态SQL(格式3)

6.4.4 动态SQL(格式4)

6.5 其他关于SQL的考虑

6.5.1 SQLPreview事件

6.5.2 TABLE.SELECT属性

6.5.3 关于Describe函数的重要注意事项

6.5.4 SetSQLSelect函数

6.5.5 为什么TABLE/SELECT比SetSQLSelect更受欢迎

6.5.6 动态DataWindow

6.5.7 最后的关于SQL的想法

6.6 使用带的乐趣

6.6.1 基础

6.6.2 改变Header带

6.6.3 删除Detail行

6.6.4 组的使用

6.6.5 在带之间移动对象

6.7 动态创建DataWindow对象

6.7.1 裸露的DataWindow

6.7.2 理解语法

6.7.3 创建动态对象

6.8 新的客户/服务器DataWindow特性

6.8.1 增强的DataWindow打印功能

6.8.2 ClipText

6.8.3 OverridePrintJob

6.8.4 PrinterName

6.8.5 多副本打印

6.8.6 Collate

6.8.7 检索子DataWindow

6.8.8 滚动Group报告

6.9 小结

第7章 终极DataWindow

7.1 目标

7.2 绘制简单的图形

7.3 矩形的创建和操纵

7.3.1 uo_lbd事件

7.3.2 uo_mm事件

7.3.3 uo_lbu事件

7.3.4 选择对象

7.4 在DataWindow之内和之间移动图像

7.5 在DataWindow之间移动图像

7.6 使用元数据创建多图形的DataWindow

7.6.1 控制可见的DataWindow对象

7.6.2 将元数据应用到DataWindow对象的可见属性

7.6.3 构造元数据

7.7 操纵元数据

7.7.1 为某些DataWindow对象属性赋负值

7.7.2 跨越多行来显示基于行的对象

7.8 包含的源代码

7.9 小结

第8章 XML DataWindow

8.1 介绍

8.2 什么是ML

8.3 XML解析器

8.4 DataWindow导出引擎

8.5 导出模板:图形用户界面

8.5.1 导出模板的报头部分

8.5.2 导出模板细节部分

8.5.3 将DataWindow元素映射到XML节点

8.6 导出XML

8.7 示例I

8.8 示例Ⅱ

8.9 示例Ⅲ

8.10 示例Ⅳ

8.11 导入XML

8.12 新DLL

8.13 小结

第三部分 数据库连接

第9章 Sybase Adaptive Server Enterprise

9.1 目标

9.2 连接ASE

9.3 数据类型

9.4 DateWindow

9.4.1 将SQL语句用于源

9.4.2 将存储过程用于源

9.4.3 将存储过程用于更新

9.5 存储过程

9.5.1 作为远程过程调用

9.5.2 作为嵌入式SQL

9.5.3 可选参数

9.6 嵌入式SQL

9.7 特殊问题

9.7.1 identity列

9.7.2 隐藏对象所有权

9.7.3 使用DBHandle和CT-LIB

9.7.4 使用print语句进行调试

9.8 小结

第10章 Sybase Adaptive Server Anywhere

10.1 目标

10.2 通过PowerBuilder连接

10.3 数据类型

10.4 开发需要考虑的因素

10.4.1 标识符大小写

10.4.2 带有所有者名称的限定SQL

10.5 与数据库交互

10.5.1 DataWindow

10.5.2 直接调用存储过程

10.5.3 嵌入式SQL

lO.6 小结

第1l章 Oracle

11.1 目标

11.2 连接Oracle

11.3 数据类型

11.4 DataWindow

11.4.1 为数据源使用SQL语句

11.4.2 为数据源使用存储过程

11.4.3 为更新而使用存储过程

11.4.4 OLE数据库Blob列

11.5 存储过程

11.5.1 作为远程过程调用(RPC)

11.5.2 作为嵌入式SQL

11.6 嵌入式SQL

11.7 特殊问题

11.7.1 用户定义数据类型

11.7.2 非法对象

11.7.3 使用同义词隐藏方案所有权

11.7.4 非智能(代理)主键

11.7.5 安全性

11.7.6 故障切换(failover)支持

11.7.7 多个Oracle Home

11.7.8 典型的0RA-xxxxx错误

11.7.9 慢连接

11.7.10 故障排除

11.7.11 全球语言支持

11.7.12 共享服务器

11.7.13 连接到非Oracle数据库

11.7.14 使用DBHandle和OCI DLL

11.8 小结

第12章 ODBC

12.1 目标

12.2 什么是ODBC

12.3 如何使用ODBc

12.3.1 建立配置

12.3.2 连接数据库

12.3.3 建立对ODBC API的调用

12.3.4 执行对ODBC API的调用

12.3.5 枪查ODBC API调用的返回值

12.4 建立ODBC数据源

12.5 你机器上的ODBC数据源

12.6 ODBC与PowerBuilder事务对象

12.7 神奇的文件--PBODB90.INI

12.8 排除ODBC故障

12.8.1 Database Trace

12.8.2 ODBC Driver Manager Trace

12.9 ODBC资源

12.10 小结

第13章 JDBC

13.1 目标

13.2 JDBC体系结构

13.2.1 类型1驱动器

13.2.2 类型2驱动器

13.2.3 类型3驱动器

13.2.4 类型4驱动器

13.3 Sybase jConnectfor JDBC

13.4 开始

13.5 指定数据源

13.6 建立连接

13.7 执行语句和返回结果

13.8 Resultset和数据库元数据

13.9 DatabaseMetaData

13.10 ResultSetMetaData

13.11 使用sybase jconnect的例子

13.12 JDBC中的事务

13.13 在PowerBuilder中使用JDBC

13.13.1 准备使用JDBc接口

13.13.2 从PowerBuilder定义数据库原型

13.13.3 为在EAServer中运行的组件配置选项

13.14 小结

第14章 通过sybase Mainframe connect的IBM DB2和CICS

14.1 目标

14.2 DirectConnect体系结构概述

14.3 通过PowerBuilder连接

14.3.1 配置Open Client(开放客户端)

14.3.2 配置PowerBuilder连接配置文件

14.3.3 其他的连接参数

14.3.4 连接初始化

14.4 数据类型

14.4.1 Character数据类型

14.4.2 Distinct数据类型

14.4.3 不支持的数据类型

14.5 开发需要考虑的因素

14.5.1 标识符大小写

14.5.2 用所有者名称限定SQL

14.5.3 表清单

14.5.4 PowerBuilder扩展属性表

14.6 访问外部数据

14.6.1 无数据

14.6.2 远程过程调用(RPC)

14.6.3 远程存储过程(RSP)

14.6.4 DB2自身存储过程调用

14.6.5 处理警告

14.7 安全接口

14.7.1 SYPM事务

14.7.2 TRS选项

14.7.3 经由DB2 Access Service的sp_password

14.8 小结

第15章 IBM Informix

15.1 目标

15.2 连接Informix

15.2.1 Setnet32配置

15.2.2 IBM Informix的PowerBuilder数据库配置文件的建立

15.3 数据类型

15.3.1 DATETIME和TIME数据类型

15.3.2 INTERVAL数据类型

15.3.3 SERIAL 数据类型

15.3.4 TEXT和BYTE数据

15.3.5 其他数据类型

15.4 使用存储过程

15.4.1 在DataWindow之内

15.4.2 作为一个RPC FUNC

15.4.3 在嵌入式SQL内

15.4.4 处理RAISE EXCEPTION

15.5外部联合语法

15.6 日志模式

15.7 AutoCommit

15.8 隔离级别(isolation level)

15.9 小结

第四部分 高级课题

第16章 PowerBuilder基础类库(PFC)

16.1 目标

16.2 什么是PFC

16.3 什么是SBA

16.4 PFc体系结构

16.5 PFC主要对象和服务

16.5.1 PFC对象

16.5.2 PFC服务

16.6 PFC开始向导

16.7 PFC快速入门

16.8 PFC示例应用

16.9 使用公共PFC对象和服务

16.9.1 PFC常量

16.9.2 菜单

16.9.3 数据窗口(u_dw)

16.9.4 Resize服务

16.9.5 Linkage服务

16.9.6 分隔条

16.9.7 状态栏服务

16.10 更多预编码脚本

16.10.1 应用程序对象

16.10.2 窗口(W_master或Descendant)

16.10.3 数据窗口

16.11 提示和诀窍--从PFC中获得最大利益

16.12 速度要求

16.13 调试PFC

16.13.1 避免出现activate事件

16.13.2 PFC调试日志

16.14 PFC的变化

16.14.1 PowerBuilder 6中PFC的变化

16.14.2 PowerBuilder 7中PFC的变化

16.14.3 PowerBuilder 8中PFC的变化

16.14.4 PowerBuilder 9中PFC的变化

16.15 PFC资源

16.16 小结

第17章 第三方工具

17.1 目标

17.2 目前的状况

17.3 如果不去找,就找不到

17.3.1 在因特网上寻找工具

17.3.2 出版文章和广告

17.4 服务于为我们提供服务的人

17.5 购买与构建--激战正酣

17.6 对选择产品的建议

17.6.1 了解自己的需求

17.6.2 了解哪些是可用的

17.6.3 灵活性

17.6.4 考虑重组你的业务过程

17.6.5 现实

17.6.6 仔细考虑生产产品的公司的稳定性

17.6.7 购买源码

17.6.8 获得参考

17.6.9 别为小钱出汗

17.7 工具类型

17.7.1 前期开发工具

17.7.2 协同执行工具

17.7.3 提高效率的工具

17.8 产品列表

17.8.1 编码实用工具

17.8.2 重新生成/构造工具

17.8.3 测试工具

17.8.4 Web移植工具

17.8.5 Case、设计和分析工具

17.8.6 代码框架

17.8.7 终端用户报表工具

17.8.8 其他的实用工具

17.9 其他Sybase工具

17.10 小结

第18章 公共控件

18.1 目标

18.2 Win32 API是什么

18.2.1 寻找好的文档

18.2.2 C语言风格的文档

18.2.3 从C的数据类型到PowerBuilder的数据类型的转换

18.2.4 从Win32 API调用到PowerBuilder外部函数的转换

18.2.5 SendMessageA和SendMessageW的区别

18.2.6 重载SendMessage

18.2.7 为消息ID创建常量

18.2.8 从C的结构到PowerBuilder结构的转换

18.2.9 封装Win32 API调用

18.2.10 回顾

18.3 消息子系统

18.3.1 窗口句柄和事件

18.3.2 编程实现发送消息

18.3.3 子窗口、父窗口和通知消息

18.3.4 编程创建窗口

18.3.5 回顾

18.4 公共控件

18.4.1 公共控件列表清单

18.4.2 公共控件DLL版本

18.4.3 如何确定安装的COMCTL32.DLL是哪个版本

18.4.4 回顾

18.5 PowerBuilder外部可视化对象

18.6 封装一个公共控件

18.6.1 从哪里开始

18.6.2 初始化公共控件

18.6.3 窗口风格和类名

18.6.4 消息ID

18.6.5 向公共控件发送消息

18.6.6 在函数中封装消息

18.6.7 将实现与可视化控件联系起来

18.6.8 实现非可视化用户对象

18.6.9 回顾

18.7 创建可视化组件

18.7.1 使用公共控件

18.7.2 回顾

18.8 小结

第19章 PowerBuilder本机接口(PBNI)

19.1 目标

19.2 什么是PBNI

19.2.1 IPB_Session

19.2.2 IPB_Value

19.2.3 IPB_Arguments

19.2.4 IPB_VM

19.3 PBNI SDK

19.4 构建PBNI扩展

19.4.1 实现PBNI类

19.4.2 PBNI要求的功能

19.4.3 构建PBNI扩展DLL

19.5 你的第一个PBNI类

19.5.1 创建PBNI DLL

19.5.2 创建PBD

19.5.3 创建PB客户端

19.5.4 示例回顾

19.6 使用PBNI对象

19.6.1 用PowerBuilder交换数据

19.6.2 调用PowerScript对象函数

19.6.3 回顾PBNI回调示例

19.7 触发PowerBuilder事件

19.8 PBNI全局函数

19.9 从PBX内部调用PowerScript系统函数

19.10 访问和操作数组

19.10.1 PBBoundedArrayCreator

19.10.2 PBUnboundedArrayCreator

19.10.3 PBArrayAccessor

19.10.4 PBBoundedObjectArrayCreator

19.10.5 PBUnboundedObjectArrayCreator

19.10.6 PB0bjectArrayAccessor

19.11 PBNI可视化对象

19.11.1 GetWindowClassname

19.11.2 CreateControl

19.11.3 可视化PBNI示例回顾

19.12 在PowerBuilder中处理PBNI异常

19.13 调试PBNI类

19.14 部署你的PBNI扩展

19.15 在第三方应用程序中加载PowerBuilder虚拟机

19.16 PBNI实用工具

19.16.1 PBSIG90

19.16.2 PBX2PBD90

19.17 小结

第20章 对象链接与嵌入

20.1 目标

20.2 OLE环境

20.2.1 早期绑定与晚期绑定

20.2.2 ActiveX设计器

20.3 OLE自定义控件

20.4 OLE自动化

20.5 OLEStream和OLEStorage

20.6 小结

第21章 未来的方向

21.1 目标

21.2 前景

21.3 .NET

21.3.1 对XML服务的支持

21.3.2 Data Window.NET和DataStore.NET

21.3.3 从PowerBuilder IDE中创建.NET对象

21.3.4 对.NET的支持

21.4 Java

21.4.1 EAServer中的Web服务

21.4.2 EJB客户端、PowerBuilder Web服务和JSP

21.4.3 第三方应用服务器中的Power.Builder NVO

21.5 移动目标

21.6 IDE集成

21.7 小结

附录

附录A Sybase自适应服务器企业参考手册

附录B Oracle参考手册

附录C 第三方工具参考手册