首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > PB的大文数据打印
【标  题】:PB的大文数据打印
【关键字】:打印,PB,PB
【来  源】:网络

PB的大文数据打印

问题:在现实中我遇到这样一个问题,在数据窗口打印的过程中,我发现打印出来的内容仅仅是数据窗口现实的内容,比如说,有一项内容好多,按正常的打印,出来的结果仅仅是窗口里显示的东西.我如何才能让打印的结果是那一项的全部的内容,而不是仅仅是数据窗口中所显示的内容,具体点说就是,我现在再做一个教学大纲东西,我吧她放在数据窗口里,他的字数很多,我想把他全部打印出来.有谁能给我说一下,我这里先谢谢啦

回答:
在PowerBuilder4.0及最新推出的powerBuilder 6.0 版 中,均未解决大文本数据的打印问 题。在企业管理中,经常打印几页甚至几十页长的材料,这个材料可能长,也可能短,(在PB中存放大文本的单机库数据类型是Long Varchar),利用程序设计批量打印,设计此类数据高度时,不知道设计多高,(若设计不合适,短数据量造成打印空行或空页,而长数据量又可能造成只打印了部分数据的情况),虽然程序设计时有AutoHeight 属 性,但在实际运行时效果并不理想,因此,此问题的解决具有重要意义。
下面我介绍一种利用Powersoft Script函数来解决此问题的方法:
----例如,对于表text,其字段如下:
1、姓名name char(8);
2、性别sex char(2);
3、出生日期birthday date;
4、个人简历resume long;Name(姓名)Sex(性别)BirthDay(生日)resume(个人简历)
张三男1950.09.12
55.9.1北京市光明 小学
60.9.1北京市南安中学
70. 8.1.清华大学毕业,在原子能研究所工作。
71年获国家项目设计一等奖,同年,被评为先进个人。
72年………(等等)

李四男1985.02.12
90. 9.1在南京市上福利小学
95.9.1毕业,正选择中学就读
----里面有张三,李四两条记录。张三经历丰富,可能在resume栏中内容很多,从小学到 大学,及至工作20年来的所有经历,能写成一篇文章了;而李四刚小学毕业,那么resume 栏中内容就很少。
----由于大文本字段其数据量大,数据长度不一定,在设计打印数据窗口时,这种字段的高度不好定位,如果按最大可能高度定位(这个高度也不好掌握),对于小数据就会出现打印空行,甚至空页的情况。
----为了解决这个问题,我们用程序来控制这种字段高度。(以text表为例):
----1、以自由格式定义一个数据窗口,保存这种缺省状态(resume字段高度为缺省高度);生成一个窗口,窗口中包含上述数据窗口(被定义成dw_1);窗口中还有上翻(cb_1),下翻(cb_2)两个按钮。
----(下面的程序行,根据实际情况写到cb_1或cb_2按钮中。)
----2、获得要打印的记录的resume字段中数据,放到变量field中
dw_1.scrollnextrow():
string field
field = dw_1.getitemstring(1,”resume”)
//假设,这是第一行张三的数据
----3、我们用B5纸打印,字体为PowerBuilder缺省字体(TArial),可计算出每行59个字符,字体高度为80个点。那么用如下程序可计算出field变量的内容占用的打印高度:
int i
long tt

tt = len(field)//获得这个变量的长度

i=(int(tt)/59)*80+1//计算出高度点,

----4、改变resume字段高度。
----dw_1.Describe(“resume.Height”)
----dw_1.Modify(“resume.Height=string(i)”)
----程序每打印一条记录,就调用上诉2,3,4步骤的程序行,将resume字段高度,随resume内容的长度改变而改变,就可动态改变字段高度,从而保证纸张资源的充分利用,不打印空行或空页。

如何统计两个时点的时间差:【上一篇】
PB中保存图片:【下一篇】
【相关文章】
  • 在非PB9 JSP Target的jsp网页中调用EAServer组件
  • 在PB应用中收发电子邮件
  • PB程序中在普通激光打印机上实现条码打印
  • 从Web站点读取Flash动画演播的PB6.5编程
  • 用PB实现Windows2000下的自动关机
  • PB打印机选择列表的分析与实现
  • 在PB中如何使用Microsoft Outlook发送邮件
  • 如何在PB中制作特殊形状数据窗口或按钮
  • 利用PB实现动态系统用户登录
  • 在PB中用代码配置ODBC
  • 【随机文章】
  • 在ASP.NET Atlas中调用Web Service——创建Mashup调用远端Web Service(Google Search实例)
  • 交换机端口镜像(Port Mirroring)配置
  • J2ME介绍
  • 惊人技巧大搜集(转载)
  • linux 下访问 ntfs 分区的驱动
  • VB.NET下获取硬盘信息的几种方法
  • 上海宝山区武装部CBS存储备份成功案例
  • 无线局域网基础知识:微波简史
  • vxworks中错误号的意义
  • 小菜编程成长记(五)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.