powerbuilder 声明外部函数,特殊函数概论情况

PowerBuilder9.0实用解析-计算机网上书店
PowerBuilder9.0实用解析
本书编号: 199217
[出 版 社]
[I S B N ] 7--X
[著 作 者] 郭宝利等编著
[出版日期]
[定  价] 68 元
[书 店 价] 68 元
[立刻节省] 0 元
非会员购书免注册
购书咨询电话: 汇款传真:
PowerBuilder9.0实用解析由网上书店提供。PowerBuilder9.0实用解析全面、系统地介绍了powerbuilder9.0的开发环境、技巧以及笔者多年来的powerbuilder开发经验。全书共分3部分,第1~19章为c/s开发,第20~24章为b/s应用开发,其余内容为powerbuilder扩展功能。其中,第1~4章介绍powerbuilder的基础知识;第5~9章介绍powerbuilder的编程知识,并融会了笔者多年来的开发经验;第10~19章和第28章紧密结合软件项目设计思想,介绍了powerbuilder项目开发的实用知识;其他章节侧重于powerbuilder9.0新增知识和b/s开发的介绍。 PowerBuilder9.0实用解析涵盖了powerbuilder9.0的所有内容,知识点系统、全面和实用,适用于从事或准备从事使用powerbuilder进行开发的各层次的工程技术人员以及大中专院校师生。 图书目录第1章powerbuilder基础 11.1新增功能 11.1.1改进综述 11.1.2powerbuilder9.0的主要特征 31.1.3powerbuilder9.0的主要改进 41.2什么是powerbuilder 121.2.1画笔 131.2.2事件和脚本 131.2.3函数 141.2.4库文件 141.2.5创建执行文件 141.3powerbuilder工作环境 151.3.1关于powerbar 151.4使用工具条 171.4.1下拉工具条 171.4.2控制工具条的显示 171.4.3移动工具条 181.4.4配置工具条 181.4.5创建新的工具条 201.5弹出菜单和属性窗口 211.5.1弹出菜单 211.5.2选择对象 211.5.3属性窗口 211.6使用文件编辑器 221.6.1文字的查找和替换 231.6.2增加或取消行注释 231.6.3输入、输出文件 241.6.4选中文字的拖放 241.7使用在线帮助 241.8理解powerbuilder对象 241.8.1属性 251.8.2函数 251.8.3事件 261.9理解配置文件 261.10配置powerbuilder的启动参数 281.11开发应用程序的步骤 29第2章application对象 312.1应用对象操作 312.1.1创建application 312.1.2打开application 322.1.3设置库搜索路径 332.2application画板 342.2.1定义变量 352.2.2编写脚本 352.2.3定义函数 362.2.4定义事件 372.2.5设置属性 372.2.6编辑环境 382.3显示应用对象树 382.4应用对象概述 392.5应用对象事件 412.5.1open事件 412.5.2close事件 432.5.3idle事件 432.5.4systemerror事件 432.5.5connectionbegin事件 492.5.6connectionend事件 492.6应用对象函数 492.7应用对象的属性 502.7.1general属性 502.7.2附加属性 522.7.3toolbar属性 52第3章窗口和窗口画板 533.1窗口画板 533.1.1window画板的组成 533.1.2定制窗口画板 563.1.3打开和创建窗口 583.1.4保存窗口 593.1.5窗口画板中的快捷操作 603.2关于窗口 603.2.1窗口的组成 603.2.2窗口的类型 613.3设置窗口属性 623.3.1开发时设置属性 633.3.2运行时的属性 653.4使用控件 663.4.1控件简介 663.4.2放置控件 673.4.3选中控件 683.4.4控件的对齐和大小调整 683.5窗口对象事件 693.5.1activate和deactivate事件 703.5.2open事件 703.5.3close和closequery事件 703.5.4resize事件 723.6窗口的常用函数 723.6.1open函数 733.6.2close函数 733.6.3messagebox函数 73第4章数据库 764.1数据库概述 764.1.1表和列 764.1.2主键 764.1.3外部键 774.1.4索引 774.1.5视图 774.1.6扩展属性 774.2database画板 774.2.1数据库画板概述 784.2.2画板组成 794.2.3画板中的操作 794.2.4定制画板 834.3本地数据库操作 844.3.1创建本地库 844.3.2删除本地库 854.4数据表操作 864.4.1创建数据表 864.4.2定义字段 874.4.3指定表和字段的扩展属性 884.4.4替换表 894.4.5拷贝、剪切、粘贴字段 904.4.6删除表 904.4.7表的其他操作 914.4.8关于系统表 924.5键操作 924.5.1查看键 934.5.2打开相关表 934.5.3定义主键 934.5.4定义外部键 944.5.5修改、删除键 954.6索引操作 964.6.1创建索引 964.6.2修改索引 974.6.3删除索引 974.7视图操作 974.7.1使用视图 974.7.2打开已存在视图 984.7.3创建视图 984.7.4连接表 984.7.5显示视图的sql语句 删除视图 输出视图的语句 100第5章编写脚本 1015.1powerscript画板 熟悉环境 配置script视窗 1025.2编写脚本 粘贴语句 添加注释 查找替换 编译脚本 1055.3powerscript语言基础 注释 标识符 特殊ascii字符 标号 null值 保留字 指代词 续行和断句 空白 1135.4数据类型和变量声明 变量的作用域 变量声明 变量的存取权限 数据类型 1165.5运算符和表达式 算术运算符 关系运算符 逻辑运算符 连接运算符 运算符的优先级 表达式和赋值 1245.6基本语句 分支语句 循环 call语句 continue语句 ex语句 goto语句 halt语句 return语句 1335.7定制事件 1335.8函数和结构 编写函数 定义结构 1365.9数组 定义数组 给数组赋值 使用数组 1395.10在脚本中嵌入sql语句 事务 在powerbuilder中使用sql语句的格式 连接和断开数据库 选取单行数据 判断事务对象的返回信息 插入、删除和修改数据 145第6章数据窗口对象 1476.1数据窗口画板 设置datawindow画板 design视窗 preview视窗 controllist视窗 data视窗 perties视窗 columnspecification视窗 1526.2创建数据窗口 1536.3数据窗口的数据源 quickselect数据源 sqlselect数据源 query数据源 external数据源 storedcedure(存储过程) 1616.4显示样式 grid显示样式 tabular显示样式 group显示样式 freedom显示样式 label显示样式 n-up显示样式 crosstab显示样式 graph显示样式 compose显示样式 richtext显示样式 ole2.0显示样式 1706.5数据窗口对象 报表级格式 数据窗口的层次 1726.6数据窗口的修改属性 1736.7字段操作 选择编辑类型 设置字段编辑格式 重要属性设定 增加和删除字段 调整字段的显示顺序 1846.8计算域和计算字段 条件判断 累积 百分比 引用不同行的数据 数据行的修改状态 1886.9排序、过滤和分组 排序 过滤 分组 1916.10数据操作 193第7章使用控件 1957.1命令按钮和图形按钮 概述 常用属性 事件和脚本 典型实例 1967.2列表框和图形列表框 使用概述 常用属性 事件和脚本 常用函数 典型实例 2047.3条状控件 滚动条 轨迹条 进度条 2097.4文本的显示和编辑 单行编辑器 多行编辑器 屏蔽编辑器 富文本编辑器 静态文本 静态链接 2197.5下拉列表框和图形下拉列表框 属性 事件 函数 221第8章数据窗口控件 2238.1例述数据窗口编程 2238.2数据窗口控件属性 2288.3数据窗口事件 2308.4数据窗口事件综述 脚本执行效率 dwo参数的使用 2358.5数据缓冲区 缓冲区 应用实例 2378.6编辑控件 2398.7读取和设置数据 2408.8查询和排序 2438.9数据打印 启动打印作业 关闭打印作业 printdatawindow函数 print函数 249第9章菜单和mdi 2519.1设计菜单 设计菜单项 修改菜单项的属性 2539.2关于菜单的编程 为“退出”菜单项编写脚本 选中某个菜单项 隐含某个菜单项 使某个菜单项失效 调整工具条的位置 修改工具条上鼠标右键弹出菜单中的内容 动态设置microhelp 使用右键弹出菜单 改变窗口中的菜单 设计一个通用工具条配置窗口 2589.3什么是mdi应用 菜单条和工具条 客户区 2619.4菜单和mdi 打开sheet 获取当前sheet 安排sheet的布局 维护菜单 获取工具条的信息 保存和恢复工具条的设置 遍历菜单项 2709.5一个mdi应用实例 打开和关闭mdi时 打开文件时 w_ed的打开和关闭 窗口w_ed中的其他脚本 其他菜单项的编程 283第10章高级sql语句 29410.1sql语句 where子句 orderby子句 表达式 分组 30010.2动态sql语句 类型一 类型二 类型三 类型四 30310.3高级查询 表的连接 子查询 30710.4游标 30810.5事务处理 310第11章窗口使用技巧 31411.1窗口间的协作 在打开和关闭窗口时进行数据传递 不同窗口之间的变量或函数调用 信号灯概念的使用 31811.2创建窗口实例 32011.3使用窗口属性编程 32211.4增强窗口显示效果 窗口最小化时设置动态图标 放置闪烁文字 提高窗口的打开速度 移动不带标题栏的窗口 闪烁窗口标题栏 给窗口添加自动滚动条功能 32511.5自动调整窗口 327第12章数据窗口使用技巧 33012.1标识当前行 使用selectrow函数 使用函数setrowfocusindicator 使用currentrow和getrow两个函数 改变背景或者前景 33312.2显示指定条件的数据 通过修改前景、背景颜色 通过修改设置位图 通过修改边框类型 通过选中标记来标识符合条件的行 33612.3动态数据窗口 动态创建数据窗口 动态关联数据窗口对象 获得数据窗口的sql语句 修改数据窗口的sql语句 34312.4用回车键代替tab键 34512.5拷贝数据 使用getem()和setem()函数 使用剪贴板 使用结构类型的数组进行赋值 直接赋值 使用行拷贝的方法 34712.6灵活运用external类型数据窗口 34812.7数据保护 无条件修改部分字段 已有数据不允许修改,只能修改新数据 有条件修改 35112.8数据操作的安全性 通过弹出窗口让用户确认 设立删除数据恢复功能 恢复到打开窗口时的最初状态 窗口关闭时让用户确认对没有保存的数据如何处理 35312.9数据窗口用做下拉列表框 35512.10数据窗口用做列表框 如何选中和取消一行 如何选中多行 如何处理选中的数据 35812.11一个数据窗口修改多个表 359第13章通用查询 36113.1powerbuilder仓库的构成 36113.2通用查询系统的分析 读取数据库中某用户的所有表 显示选中表中的所有字段 查询条件的指定 显示数据 保存用户组合的查询条件 36513.3界面设计 36613.4查询条件窗口的编程 定义实例变量 窗口的open事件 查询条件的组合 其他功能 37713.5数据显示窗口的编程 378第14章数据窗口对象 38614.1数据窗口对象概述 38614.2获取数据窗口信息 函数describe 对列的引用 函数evaluate 函数lookupdisplay 38814.3修改数据窗口信息 创建对象 删除对象 特性修改 39014.4字段和计算域的重要属性 获取字段的类型(coltype属性) 背景属性(background.perty) 指定检索规则(creria.perty属性) ed风格的字段属性(ed.perty属性) 字段的显示格式(format属性) 设置数据窗口修改时的主键(key属性) 字段名称(name属性) 字段中的数据保护(tect属性) 字段的滑动属性(slideleft和slideup) 字段的taborder值(tabsequence属性) 用户是否可以保存字段内容(update属性) 字段校验(validation和validationmsg属性) 计算域的属性 39614.5button的重要属性 action属性 suppresseventcessing属性 text属性 398第15章子数据窗口 39915.1子数据窗口的一般用法 子数据窗口和父数据窗口的关系 获取子数据窗口的引用 保证子数据窗口中的数据更新 40015.2检索子数据窗口 子数据窗口和父数据窗口共享事务对象 检索子数据窗口的数据 使用带参数检索 40315.3共享子数据窗口 40315.4子数据窗口的灵活运用 404第16章大文本对象的处理 40616.1blob对象处理方法 40616.2使用ole处理blob对象 40716.3一个图像处理的实例 408第17章数据管道 41217.1数据管道 数据管道对象 数据管道画板 41317.2管道用户对象 管道属性 管道事件 管道方法 41917.3运行数据管道 42117.4在程序中执行管道 422第18章高级控件 42718.1图形列表框和下拉图形列表框 快速入门 典型编程 相关属性 42918.2tab控件 快速入门 典型编程 标签属性 标签控件的事件 43318.3listview控件 控件显示方式 快速入门 典型编程 属性 函数 事件 44118.4lreeview控件 快速入门 典型编程 属性 函数 事件 44818.5图形控件的使用 基础知识 图形外观 快速入门 属性 开发环境 graph控件函数 数据窗口中的graph控件 应用实例 463第19章pfc编程 46819.1pfc概述 理解pfc pfc的构成 pfc的体系结构 47019.2pfc编程基础 设置application管理 创建应用 使用属性对象 使用pfc常量 消息路由 pfc的事务管理 调用父函数和事件 为应用添加在线帮助 安装pfc的最新版本 47819.3application服务 建立applicationmanager applicationmanager服务 标准类用户对象 48219.4菜单 48219.5窗口和窗口服务 基窗口服务 pfc_w_master 其他窗口服务 48619.6数据窗口服务 sort服务 查找和替换服务 dropdownsearch服务 requiredcolumn服务 linkage服务 multableupdate服务 rowmanagement服务 49219.7可视化控件 标准可视用户对象的基本函数 数据窗口控件u_dw 496第20章开发web应用 49920.1powerbuilder9.0对web应用支持的增加 webtarget glweb页面 web数据窗口编程 web数据窗口容器部件 按钮图片 生成html easerver的整合 50120.2使用webtarget 关于webtarget 关于webtarget的开发环境 在集成的web分发环境中工作 将powerse的工程迁移到webtarget 50920.3开发web应用 设置webtarget 操作webtarget中的单个文件 添加内容 使用系统树 创建web页面 51720.4操作html页面 html编辑器 打开和设置html编辑器 页面和html源码的基本操作 重要页面要素 页面布局 53120.5使用样式表和框架结构 关于样式表 样式表编辑器 样式表的基本编辑 编辑框架和框架设置 53920.6使用图片和其他媒体部件 插入图片 创建电子地图
可用部件 插入部件 设计时部件 java类路径 54420.7编写脚本 关于脚本 编辑脚本 编程技术和技巧 55120.8使用应用服务器和事务服务器 和应用服务器的结合 使用服务器端脚本 关于webtarget对象模型 访问数据库连接 管理页面数据 和easerver的结合 56620.9开发4gl页面 关于4glweb页面 开发页面 使用参数和变量 访问easerver服务器部件 添加控件 设置页面导航 编写服务器端脚本 页面如何请求处理工作 关闭4gl页面模式 59120.10关于web数据窗口设计时控件 使用web数据窗口dtc 将页面和数据窗口集成 数据窗口显示样式和属性设置 数据和数据窗口检索参数绑定 定义数据窗口中的链接 60220.11编译和部署webtarget 概述 编译webtarget 部署 设置部署配置 修改webse的部署配置 部署到远程powerdynamo服务器上的配置 编辑jsp部署配置 部署webtarget 运行webtarget 616第21章数据窗口对xml的支持 61721.1关于xml xml快速入门 xml的概念 xml的术语 xml语法 xml实例解析 xml相关资源 63721.2数据窗口对xml的支持 63821.3输出xml 输出模板 63921.4exporttemplate视窗 创建模板 保存模板 header和detail节 编辑输出模板 输入模板 65121.5保存为xsl-fo 65621.6powerscript对xml支持的增强 新增saveastype取值 import方法对xml的支持 data.xml data.xmldtd data.xmlschema data.xslfo export.xml.headgroups export.xml.metadatatype export.xml.savemetadata export.xml.templatecount export.xml.template.name export.xml.usetemplate import.xml.usetemplate 663第22章jsp目标 66522.1关于jsp jsp是怎样工作的 jsp构成 jsp中的应用逻辑 66622.2jspweb目标向导 添加标记库 指定服务器类型 66722.3jsp页面设计 jsp指令 jsp宏指令 程序元素 定制标记 为webservice定制标记 注释 错误处理 67722.4jspweb目标对象模型 67822.5jsp部署配置 常规部署配置 jsp部署选项 68222.6定制web数据窗口标记库 datawindow dwcolumnlink 使用datawindow标记的例子 688第23章创建ejb客户端 69223.1概述 关于pbejbclient90.dll 关于ejb代理对象 处理过程概述 path和classpath的设置 69323.2设置搜索路径 69323.3生成ejb代理对象 使用ejbxyject 使用ejb2pb90工具 浏览生成的代理 实例 数据类型映射 69723.4创建java虚拟机 69723.5连接服务器 classpath的设置 69923.6调用组件方法 使用lookup方法 创建或者查找ejb实例 调用ejb方法 断开和服务器的连接 70223.7异常处理 捕获异常 不处理的异常 70323.8事务管理 开始和结束事务 获取事务的信息 设置事务的超时 70423.9调试客户端 70423.10类和对象详解 ejbconnection ejbhandle ejbhome ejbhomehandle ejbmetadata ejbobject ejbtransaction javavm 713第24章创建webservice客户端 71524.1关于webservice xml和xsd 71524.2把pbsoapclient90.pbd放在搜索路径中 71724.3生成webservice的代理对象 创建代理对象 xml方法别名 数据类型映射 关于数组 71924.4连接soap服务器 71924.5调用webservice方法 72024.6生成webservice 72024.7异常处理 捕获错误 不可处理的错误 72124.8相关类 soapconnection类 soapexception类 722第25章pb的文档对象模型 72425.1关于pbdom pbdom_object pbdom_document pbdom_doctype pbdom_element pbdom_attribute pbdom_namespace pbdom_characterdata pbdom_text pbdom_cdata pbdom_comment pbdom_cessinginstruction pbdom_builder 72825.2使用pbdom 装载xml文件 加载纯xml 创建xml文件 创建 访问节点数据 使用数组改变节点内容 操作节点数层次 732第26章pbni概述 73326.1关于pbni和pb扩展 pbni元素 pbnisdk pbni和jni比较 73526.2建立pb扩展 创建pb扩展 使用pb扩展 pb扩展实例 使用c++向导 74526.3使用pbni pbni和powerbuilder进行数据交换 调用powerbuilder函数 异常处理 创建marshaler扩展 75226.4pbni工具介绍 pbsig90 pbx2pbd90 759第27章orcascript语言 76127.1关于orcascript 76127.2orcascript命令 76227.3orcascript命令参数 764第28章pb编码规范 76628.1综述 编程对象的分类 编程对象的组织 76628.2团队开发 76728.3版本说明 76728.4对象命名规范 命名约定 具体命名规则 76828.5变量命名规范 变量类型约定 变量范围命名约定 77228.6编程规范 书写格式 流控制 注释及格式要求 powerbuilder脚本编程规范 77628.7控件编程规范 公共部分 控件细则 78028.8用户反馈 使用反馈的场合 提供反馈的几种技术手段 78328.9提高程序的健壮性 安全的应用软件 什么是安全的应用 使用数据窗口中应注意的问题 78528.10文档标准 注释 联机帮助 78728.11错误处理标准 78728.12其他 788 序言/前言前言4glplus开发平台充分支持webservices等特性,标志着powerbuilder9.0是powerbuilder发展历程上的又一次飞跃。powerbuilder9.0的开发环境比起以往版本有了大的改进,提供了全新的集成开发环境――4glplus,是业界第一个集设计、建模、开发、部署和管理等各项功能为一体的下一代rad工具。在该环境中,开发者可利用wizards和其他的rad工具,快速开发、部署一套jsp网络应用系统;还包含一个优秀的代码基础、许多新的增强特性及与web和n层应用开发的进一步整合。同时,它还提供了与sybase应用服务器entriseapplicationserver(easerver)更为紧密的集成,能够在easerver中调用entrisejavabeans(ejb),并能够将现有的组件连接到easerver。powerbuilder9.0的出现将会帮助开发者在更为开放、高度集成的开发环境中利用powerbuilder9.0的强大功能轻松工作。通过与sybaseeaserver的紧密结合,powerbuilder能支持j2ee的开发与配置。在最新版本中,powerbuilder创建的应用程序既能够访问任何一台j2eetm兼容应用服务器(包括ibmwebsphere&applicationserver,beaweblogictmserver及其他j2ee应用程序服务器)的entrisejavabeans,也可以同时使用powerbuilderweb服务。您也能够使用powerbuilder创建rad类型的javaservagestm(jsp)应用程序。powerbuilder和powerdesigner以前是比较松散的集成,只是通过powerdesigner生成powerbuilder框架。在powerbuilder9.0中,实现了模型(powerdesigner)与代码(powerbuilder)的对应转换。它重新设计了现有的应用程序逻辑,在powerdesigner内将之改变以支持新的业务需求,并将这些变化反映到powerbuilder应用程序中。这就降低了维护和扩展客户机/服务器应用程序所需的时间与成本。powerdesigner提供的全新功能可以从powerbuilder9.0中提取所有的对象与代码,而不再仅仅是nvo。这大大简化了现有应用程序的维护,哪怕最初的开发人员已经离开公司,也无须顾虑。更有意义的是,powerdesigner允许您将旧的pb应用程序扩展到新的架构中去,哪怕那些程序不是按照面向对象的原则编写的。powerbuilder与powerdesigner配合得越顺畅,4glplus发展就会越长远。对于开发人员来说,4glplus开发平台的意义更为重大。对企业和商业应用程序开发人员的底线要求是无法降低的,您需要一个高效的集成开发环境,它能够提供最高的效率、可靠性、功能性和灵活性。除此以外,它还能够支持各种客户端选择、变化的业务流程和迅速发展中的技术平台。尽管目前基于3gl的开发工具使用起来非常复杂,要求开发者具有极强的专业知识和技术能力,但开发人员对于3gl开发工具仍有很强的依赖性。但是,由于目前应用环境的复杂性,基于3gl的开发也导致了许多应用系统生产力低下。这时,就产生了对4gl工具的强烈需求,也对4gl工具提出了新的要求:简单应用。举个例子,当我们推广企业门户的时候,客户说,他们只有5个技术人员,并希望通过一个简单的应用界面就能做出来。如果做一个企业门户,要求每个程序都用jsp写,那他们就不做了,没有这个资源。所以说,“简单应用”是根本,否则就没有生存空间。另外一个飞跃性的发展就是对webservices的全面支持,标志着powerbuilder首次对microsoft.net的支持,也是与强大的j2ee在更高级别上的集成。作为与.net整合的第一阶段,powerbuilder9.0可以生成并使用web服务,这使得.net程序员能够充分利用datawindow与datastore模式的优势。在未来,与.net的整合计划包括编译成msil代码的能力,并使程序员能够利用.net的自带控件,如预览、选项卡等建立.net应用程序。“今天,开放性所包含的含义更加广泛。例如,与各种(以各种不同语言编写的)应用和信息处理系统的通信能力,在任何情况下接入数据的能力,以及为用户提供操纵各种应用的能力”,sybase企业解决方案部门高级副总裁和总经理rajnathan博士说,“开放性还意味着能够很好地支持企业中的各种开发环境――包括j2ee和.net平台。”sybase计划采用一个四阶段的方案,来实现powerbuilder组件及应用与那些microsoft.net构架中的应用的互操作。powerbuilder.net战略的第一阶段将采用支持web服务的形式,包括对powerbuilder9.0的xml业务增强。第二阶段将包括datawindow.net和datastore.net特性。利用powerbuilder在数据存取、datawindow.net和datastore.net等方面的独家专利可以支持从非powerbuilder应用的接入,并可以被任何.net语言所采用。有经验的powerbuilder开发人员如果使用.net,无须学习新的、冗长的、复杂的方法来实现与datawindow和datastore的集成。在第三阶段,封装业务逻辑的不可视对象(nvo)将被迁移到.net结构中,使powerbuilder开发人员能够合理利用目前的代码,并将其移至.net环境中。开发人员在相似的powerbuilder集成开发环境(ide)中仍能获得高生产率。他们还能够继续在powerbuilder中创建应用,开发组件,并能够将这些应用和组件部署到企业的平台和环境中。powerbuilder的.net支持的最后阶段包括了将.net构架中的组件带入到powerbuilderide中。这个阶段将改变powerbuilder本身的外观,以便使它看起来像在.net中创建的用户界面一样。它还能让开发人员调用.net的系统组件,使他们能够在powerbuilder中创建基于.net的对象。借助powerbuilder,应用开发人员能够选择他们所需的开发平台和环境,包括windowsdna、.net构架、web和j2ee平台。它将继续简化软件开发结构、协议和标准的复杂性,使开发人员能够集中精力于编写软件应用,来解决复杂的业务需要。对于新出现的标准和开发趋势,powerbuilder开发人员能够根据公司选择的方向立即做出反应,为现有产品增添价值。笔者认为,以上两点是powerbuilder9.0飞跃性发展中最为突出的两点。除此之外,powerbuilder9.0的新增功能还是很丰富的,在PowerBuilder9.0实用解析中都做了详细的介绍。以下是powerbuilder9.0的新增功能:l radjavasevage(jsp)targets――开发者可利用wizards和其他的rad工具,快速开发、部署一套jsp网络应用系统。l webservices――开发者无须具备深厚的soap协议或wsdl的背景,即可在microsoft.net或其他架构环境下,创建、发布、完成网络服务系统。l xmldatawindow――可直接从一个xml文档中输入数据,或把从任何数据来源中恢复的数据存储为完全的用户化xml文档,也可存储为pdf或xsl的格式化对象。l powebuildernativeinterface――通过捆绑了一个c++标准的补充部分,极大地扩展了powerbuilder应用开发的功能,在系统中调用其方法,并且通过jni和java应用程序,也可与pbvm相互交流。l third-partyapplicationservers――除了对现有的sybaseeaserver的支持,powerbuilder还可实现对beaweblogicservertm,ibmwebsphere和其他的j2ee应用开发服务器的支持。l thepowerbuilderdocumentobjectmodel――sybase产品执行可存储或操作xml文件的文档对象模块(dom)。这项功能(pbdom)用于从powerscript源码中读取、编写并操作标准格式的xml。l pdfreportgeneraton――提供两种保存datawindow对象的方法,以使其能够直接生成pdf格式的报告。此类提取方法以默认的方式加以应用,并可保存所有类型的datawindow对象。l sourcecontrolenhancements――帮助开发者更有效地管理大型的powerbuilder项目,并实现与rationalclearcase及merantpvcs的更紧密结合。l orcascriptutily――可以用类似英文的自然语言调用orca应用程序。新的源码控制集成能根据源控件直接生成目标对象。对这样一种优秀、庞大的开发体系进行全面介绍是非常复杂的工程。照本宣科、全面罗列并不困难,难就难在如何将该开发工具的方方面面融合成一个整体,从开发项目的角度介绍,并且将该写作思路贯彻始终。对于读者的学习也是如此。鹦鹉学习语言的本领在动物界是最好的,但和人有天壤之别,因为它不能用学来的语言自由地表达思想。再好的工具,如果不能灵活运用和融会贯通,即使学习得再好也只能如鹦鹉学舌。本人学生时期也有过定理、命题都能熟记但却不能解答习题的困惑,学习一种开发工具也是同样的道理。所以,PowerBuilder9.0实用解析不仅仅追求将powerbuilder全面地介绍给读者,更多的是想通过学习方法的介绍、实例的讲解及项目开发过程中遇到的典型问题的解决来向读者展示如何灵活运用这些知识。同时为读者留有完善这些解决方法的余地,以便读者掌握后还有一定的拓展空间。另外,本人也不主张将powerbuilder各种对象和函数分开讲解,分别讲述虽然清楚,但对于灵活掌握没有益处,因为它们毕竟是一个有机的整体。PowerBuilder9.0实用解析划分为基础知识、实用技巧和高级话题3部分;在书中没有明显标出,以避免人为地给读者制造心理障碍。第1章介绍的是全局性的基础知识,以便读者有个全局的感性认识。第2章介绍应用对象。因为应用对象是powerbuilder应用程序执行的入口点,所以首先介绍该对象。第3章介绍最常用的窗口,介绍过程中穿插了windows界面应用的思想,以便开发人员对pb应用程序界面设计有章可循。第4章介绍数据库的相关知识和操作。这4章的内容是非常基础性的,是初学者感兴趣的几个方面,所以都放在前面介绍。但考虑到学习的阶梯性,这4章的讲解并没有穿插太多的实用性、技巧性的内容。先界面,后编程,这也是初学者的一般学习规律。第5章开始介绍编程的相关知识。介绍基础知识的同时贯穿了编程风格的培养,这是团队开发人员之间进行编程交流的基本素质之所在,并且从本章开始贯穿实用性的知识。第6章到第9章分别介绍数据窗口对象、常用控件、数据窗口控件、菜单和mdi应用,并介绍了一个非常容易让学习者感兴趣的实例。相信通过对这些内容的学习,读者可以由一名初学者转变为开发者。所以,从第10章到第18章介绍各种对象的同时,还贯穿了和它们相关的一些实用技巧和开发疑难的解决方法。相信通过对这些内容的学习,读者应该会成为一名熟练的开发者,完全可以从事商品软件的开发了。但是,项目开发需要的不仅仅是对开发工具的熟练应用,更重要的是应具备一些高层的开发思想和编程风格。这些将决定一名程序员是否具有良好的逻辑抽象能力,以便能够编写出重用性比较好的程序。编程风格决定了团队成员之间是否能容易地交流,所以作者又用了两章的篇幅介绍了pfc编程和pb的编码规范。在介绍pfc时,作者的着眼点并不仅仅是将pfc的用法告诉读者,而是强调pfc的设计思想,以便开发者可以从中体会到一种可以重用的思路。第20到27章介绍powerbuilder9.0的新增内容和扩展功能。PowerBuilder9.0实用解析编写过程中,得到了清华大学计算机系朱义、冀东油田信息中心王者云、北京中关村科技软件公司吴武林等的支持,在此一并表示感谢。因水平有限,书中难免存在疏漏,欢迎提出宝贵的意见和建议,以便我们互相学习。
字数:1264千字 页码:788 开本:16开
          }

我要回帖

更多关于 c 声明外部函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信