在PB中实现分段打印功能

转载 2012年04月05日 16:18:00

在PB中实现分段打印功能

(加入日期:2001-11-14)

保存文章至硬盘】【打印文章】【字体:

分享到: 0
  文/张瑜

  在使用Powerbuilder进行应用程序的开发过程中,可使用Powerbuilder提供的函数Print()对数据窗口进行打印,但是在实际应用中,Print()函数提供的功能远不能满足用户的需要。本文将介绍如何在Powerbuilder中实现分段打印的技巧,从而满足应用程序特定功能的要求。

  有时,我们需要把数据窗口显示的数据按照一定的格式进行分页打印,而每页显示的  
数据是随机的,每页又需要分别汇总,所以每页的总和也不相等,我们可以用RowsDiscard()和RowsCopy()函数与Print()函数联合使用。

  例如对于某一数据窗口,我们需要按照每页打印5行,不足5行补空行,每页合计为当页总数。这时我们首先把显示的数据窗口命名为dw_1,接着另建一个隐含的数据窗口,格式和dw_1完全相同,并命名为dw_2,最后计算需要打印几页,具体程序如下:

  int n,mm

  //每页打印mm行

  mm = long(em_1.text)

  n = int(dw_1.rowcount()/mm) + 1

  //如果不足mm行,直接打印

  if dw_1.rowcount() < mm then

   dw_1.print()

   return

  end if

  //用FOR循环语句,循环n-1次:

  int m = 0

  for m = 0 to n - 1

   dw_2.reset()

   dw_2.rowsdiscard(1,dw_2.rowcount(),Primary!)

   //删除dw_2中的数据

   //从数据窗口的主缓冲区拷贝mm行到dw_2

  dw_1.RowsCopy(mmm+1, (m+1)mm, Primary!, dw_2, 1, Primary!)

  //不足mm行补空行

  if dw_2.rowcount() > 0 and dw_2.rowcount() < mm then

  int ii,jj

  jj = dw_2.rowcount()

  for ii = 1 to mm - jj

  dw_2.InsertRow(0)

  dw_2.ScrollToRow(dw_2.RowCount())

   next

   end if

  //循环打印dw_2窗口

  dw_2.print()

  next

  利用以上代码,我们就可以实现按特定的格式进行分段打印的功能了。

相关文章推荐

Android Multimedia实战(二)使用MediaRecorder实现分段录制视频,mp4parser合成视频功能

1.MediaRecorder类介绍: MediaRecorder类是Android sdk提供的一个专门用于音视频录制,一般利用手机麦克风采集音频,摄像头采集图片信息。 MediaRecorder...

php:一个简单的中继分段下载功能的实现

最近,因需求写了一个页面,其中有一个地方是显示一个指向一个视频的url(点击可以下载),而这个url是指向另一个服务器,因为那边没做处理,下载时默认的文件名是一串乱码字符串.为了有一个友好的默认文件名...

pb利用NetMessageBufferSend在局域网发送中文消息(实现cmd中 NET SEND功能)

这是一个窗口w_main的导出对象,需要的自己保存为文件,再导入。         这个版本其实来自网上,只是网上的那个不能发送中文,现在做了修改,支持发送中文了。         记住,net ...
  • yyoinge
  • yyoinge
  • 2011年09月14日 17:04
  • 1746

PB条码打印功能

  • 2012年10月30日 09:47
  • 84KB
  • 下载

【PB】程序中在普通激光打印机上实现条码打印

随着计算机在生产、销售、管理上应用水平的提高以及Internet 、Intranet 的普及,条码技术在生产管理、销售管理上的使用越来越多,条码的编码技术和识别技术也得到了较快的发展。我单位因建设信息...

PB实现Ftp功能源代码

  • 2015年10月20日 14:28
  • 138KB
  • 下载

PB中一个类Word打印对话框的实现

PB中一个类Word打印对话框的实现  Powerbuilder数据窗口可用于生成各种复杂的   报表,但如何让用户在使用时控制打印份数、打印范围等信息呢?    我们在开发我局MIS系统...
  • bjash
  • bjash
  • 2015年02月01日 00:55
  • 734
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在PB中实现分段打印功能
举报原因:
原因补充:

(最多只允许输入30个字)