前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于PowerBuilder的搜索

GRAPH在PowerBuilder中的应用 - 学院 | IT168 商讯信箱 用户名: @ vip.it168.com free.it168.com udc.it168.com staff.it168.com it168.com 密 码: 注册|忘记密码 登录 个人用户经销商 用户名: 密 码: 注册|忘记密码 用户名: 密 码: 注册|忘记密码 首页 个人 企业 报价行情 经销商 笔记本 手机 数码影像 消费数码 DIY硬件 投影机 家用电脑 商用电脑 办公 驱动 网刊 论坛 资讯 评测 下载 技术开发 信息化 服务器 存储 网络通信 安全 GPS导航 无线电 数字家电 家庭组网 打印 扫描 学院 软件 登陆|注册 信箱 E杂志 您的位置:首页 > 学院 > 正文        GRAPH在PowerBuilder中的应用 [收藏此页] [打印] [推荐] [挑错] 作者:网络 姚莉莉 2005-08-24 内容导航: GRAPH在PowerBuilder中的应用 第1页: GRAPH在PowerBuilder中的应用   【IT168 编程开发】在使用PowerBuilder时,有时会用到GRAPH。它作为一种输出工具 ,直观地显示用户想要看到的数据及数据间的关系(我们一般不通过它进行数据输入)。可以有两种方法将GR APH放入用户界面。其一是通过数据窗,使GRAPH成为数据窗口的一部分,或本身即为数据窗。这种方法常常是从数据库获取数据,具有易于操作、易于实现等优点。其二是把GRA PH作为控件放进某一窗口或用户对象中,这种方法一般是从内存或外部文件中获取数据。实际应用中常使用第一种方法。但是 ,对于第一种方法,在创建GRAPH数据窗时,若选择的GRAPH TYPE是LINE 类型时,则可能会出现一些问题。LINE类型的GRAPH是用来表示离散数据的,它可以将相邻的离散值用直线连接起来。但是,当一个GRAPH包含两个或两个以上的序列(SERIES)时,可能会在运行结果图上看到一些序列断点。   序列A在横坐标为2时是一个断点,序列B在横坐标为5时是一个断点。同时,我们注意到,横坐标的间隔点值分别为1、2、4、5、 7、8、9、10。数值相差并不均匀,但在坐标轴上却均匀间隔,这使得我们看到的图形并不能反映真实情况。为什么出现这种情况呢?这是因为:PowerBuilder按CA值从小到大顺序自动从数据库中取点连线。它并不考虑这些点横坐标的意义,所以只按所取点的不同横坐标数均匀分割横坐标轴。在这种情况下,GRAPH只能取确实存在于数据库中的数据。对于序列A,数据库中不存在CA为4的记录;对于序列B,数据库中不存在CA为7的记录。PowerBuilder取点连线时,以一个指针(假定为P )记录当前CA值,以另一个指针(假定为Q)记录其前一个CA值。当P值为 4时,只取到B序列的一个点(B,4,13),因此时Q值为2,故与B序列中CA为 2的点(B,2,10)相连,A序列中CA为2的点(A,2,5)此时没有与之相连的点。然后P指针前移,指向A值为5,Q指针前移,指向CA值为4。此时取到两点(A,5,14)、(B,5,11)。但因Q值为4,所以(B,5,11)与B序列CA值为 4折点 (B ,4,13)相连,而(A,5,14)却无A序列CA值为4的点相连,故不 连。然后P、Q指针再次后移。这样就造成点(A,2,5)被跳过,成为A序列的断点。同理,B序列在(B,5,11)处也是断点。如何解决这些问题呢 ?我们不能离开原始数据本身去修改运算结果,即不能在GRAPH上直接修改,而应考虑数据源。因为在只做查询时,数据库中数据一般不能修改,一种办法是将欲显示的数据从数据库中读出,经过处理后放入某一外部文件,然后令GRAPH从该文件读取数据,形成显示结果图。这就要结合上面所述的使用GRAPH的第二种方法:将GRAPH作为控件放入某一窗口中。下面举例说明其实现方法:在某一窗口如W—GRAPH中放入一 个GRAPH控件(GR—1),在该控件的CONSTRUCTOR脚本中加入以下SCRIPT 语句:   li—FileNum   long ff   string str   li—FileNum= fileopen ("c:\try.txt", LineMode!,WRITE!,Lo ckWrite!,REPLACE !)   fileseek(li—FileNum,0,FromBeginning!)   for i=1 to seriescount   //seriescount为图中序列个数,各序列名称在series[ ]中   for j=1 to categorycount   /*categorycount为横坐标的坐标点数。由要显示的数据CA值范围及相邻CA值的最小间隔长度决定。例如:要显示的数据CA值在1到10 的范围内,若不同CA值最小相隔为0.5,则此时categorycount值为20, 横坐标值为0.5,1,1.5,2……;若不同CA值最小相隔为1,则此时catego rycount值为10,横坐标值为1,2,3……。各横坐标值在category[]中 */   VARCA=0   SELECT CA   INTO:VARCA   FROM QUERYDB   WHERE ABS(QUERYDB.CA-:CATEGORY[J])<=1E-6:   if VARCA=0 and j>1 then   /*插补的CA值原数据库中不存在,对应VA值要进行修正。方法是找出当前CA值(CATE GORY[J])其前最临近的一个(第M个)、数据库中 存在的CA值对应的VA值(PVA)、其后最临近的一个(第N个)、数据库中存在的CA值对应的VA值(SVA),取(SVA-PVA)*(J-M)/(N-M)作为当前VA 值。赋予VALUE[1,J]*/   修正    //程序略   end if   ** str=series[i]+" "+category[j]+" "+value[i,j]   filewrite(li—FileNum,str)   next   next   ff=FileLength("c:\TRY.txt")   gr_1.importfile("c:\TRY.txt",1,ff)   //程序结束   在**行,series[i]中存放当前序列名称,如"A"、"B"、"C"等(i=1 ,2……);category [j]中存放当前横坐标分隔点 名称,如"1"、"2"、 "3"、"4"等(j=1,2……)。value[i,j] 中存放对应于当前序列及横坐标的相应纵坐标值。双引号中不是空格,而是TAB键,如果键入的是空 格,则代表换行,TAB键则表示在本行中空一个字符。   这样在W_GRAPH窗口打开后,该图形将有如下显示形式,而不存在断点问题。 1 【内容导航】 第1页:GRAPH在PowerBuilder中的应用 &copy;版权所有。未经许可,不得转载。 [责任编辑:学院04] [我要挑错] 相关产品 相关文章 PowerDesigner9.5中文版介绍 在PB中实现系统热键功能的新方法 PB的可执行文件所需的环境DLL 用PB编写邮件应用程序 PB动态报表的实现 如何在PB中实现串口编程 在PB下实现圆形的窗口 PB实现数据窗口动态排序的方法 PB与外界的交互方式 精彩友情推荐 xp 技巧 OFFICE2007简体中文企业正式版 Cisco技术学习 思科认证 photoshop教程(免费每日更新) 中关村商情网 IT学院 游戏梦网 宏基22寸5ms液晶报价2099元 IT教程集中营 风行在线网络电影 精彩一网打尽 [精彩问答] [发表问题] 专题推荐 ·专题:FLV在线视频播放加速应用大全 ·计算机等级考试二级VB语言视频教程 ·【专题】SEO搜索引擎优化视频教程 本文相关产品    没有相关产品 本类最新产品 NEC NP4100W+ NEC NP4100+ EIKI LC-XB42i 三星 SP-P410M 联想 C114 优派 PJD6210 优派 PJD5351 夏普 XV-Z15000 佳能 WUX10 佳能 SX800 本类最热产品 SONY VPL-CX1... BenQ MP512 BenQ MP514 三洋 PLC-XU900... SONY VPL-EX50 东芝 TDP-SP1 SONY VPL-CX131 SONY VPL-CX21 SONY VPL-ES5 BenQ MP512ST 热点文章排行 利用Serv-U事件功能方便管理服务器 利用Task Killer快速终止系统进程 WinRAR生成压缩文件时密码自动加 用Phtoshop绘制晶莹的3D水晶图标 Windows 7再提速!winsxs文件夹优化 解决PHP相对目录问题最有效的办法 找回Word选择格式相似的文本命令 Photoshop合成教程:白天变迷人黑夜 轻松自定义XP系统的内置变量值 修改注册表文件的默认打开方式 关于我们 | 关于IT168 | 合作伙伴 | 广告服务 | 使用条款 | 投稿指南 | 诚聘精英 | 联系我们 | 法律顾问 | 网站地图 | 往日回顾 | 繁体版 CopyRight 1999-2014 www.it168.com All Rights Reserved. 北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 [上海]高端极限轻薄 戴尔 [北京]E5200芯配19 [导购] 周末电脑采购导读:微星、戴尔狂 [资讯] 戴尔提升下一代数据中心虚拟化整 [行情] [济南]杀至4320 戴尔14 [行情] [济南]黄金比例 戴尔成就13 [行情] [北京]戴尔1545入门本 售 [行情] [深圳]新品上市 戴尔成就12