套版制作的说明

上传人:橙** 文档编号:333370848 上传时间:2022-09-01 格式:PDF 页数:18 大小:1.20MB
返回 下载 相关 举报
套版制作的说明_第1页
第1页 / 共18页
套版制作的说明_第2页
第2页 / 共18页
套版制作的说明_第3页
第3页 / 共18页
套版制作的说明_第4页
第4页 / 共18页
套版制作的说明_第5页
第5页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《套版制作的说明》由会员分享,可在线阅读,更多相关《套版制作的说明(18页珍藏版)》请在金锄头文库上搜索。

1、套版程序、字段制作的说明所谓的套版是固定格式的模版样张。套版打印就是用固定格式的模版样张把所要列示的内容打印出来。套版制作的概念就是如何制作一个套印的模版的版面及定义相关的字段和如何抓取相应的数据。对于制作套版应该从两方面来处理:一、程序的制作。二、利用 BBFM来定义相关的字段及填制模版的版面。一、程序的制作。(实用于程序员编程使用)对于一个套版来讲对于用户来讲他只是关心的是打印出来的数据是不是符合自己所需要的值。至于如何抓取出的值,他们不需要关心。而对于程序开发人员来讲,关心的是如何向打印出的套版提供一个正确的数据流来满足客户的需要。而提供的这个数据流的就口就是程序提供的字段,这些字段必须

2、在程序中定义或者间接的在程序中定义。因此程序员就必须在程序中提供相应的字段以满足传递数据流的需要。对于程序所提供的变量有两种:表头变量;表身变量。对于这两种变量来讲或许在我们的帐套数据库真实的存在,或在我们的公共库里真实存在,或是我们专门定义的临时库的变量。对于我们程序的套版打印我们提供了MprintWindow;MExcelPrinter两个构件来实现。MprintWindow 本构件是用于对于具有表头、表身的单据输入画面的数据进行打印,本构件要结合 HBKey 同时使用。直接挂在HBKey 的 PrintWindow 上即可。属性BodyDataSet 用途:根据所要打印的表身库位,提供套

3、版打印所须字段于相关数据的的信息。声明:property BodyDataSet:MSQLTable 描述:此处所填写的库位一定为表身的信息。如果填写到表头的库位名称就不能抓到相关的值,表身在此提供的信息为所有的库位字段的信息与这些字段所写的数据的信息,及只要是本库位存在的字段都能取得在套版中取得相关的资料。FindWindow 用途:通过 FindWindow 属性来查找相应的数据库资料及相关表头的信息。声明:property FindWindow:MFindWindow 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 18 页 -描述:通过 FindWindow属性来查找相应

4、的数据库资料及相关表头的信息。此处所填写的一定为一个FindWindow 的构件信息。在此处通过此构件的属性可以取到相关表头的字段信息,可以定位到表头库位。并且通过FindWindow的查找定位,可以知道当前需要打印的是何笔资料,这样表头在此提供了所有的库位字段的信息与这些字段所写的数据的信息,只要是本库位存在的字段都能取得在套版中取得相关的资料。HUniqueFldName 用途:通过 FindWindow.HUniqueFldName的属性定义表头的关键字索引。声明:property HUniqueFldName:string 描述:通过 FindWindow.HUniqueFldName

5、的属性定义表头的关键字索引。在此处可填可不填,当不填是为:MPrintWindow.HuniqueFldName:=FindWindow.HuniqueFldName及传入的为表头的关键字。RangeCaptionFields 用途:通过填写过滤字段,对所要打印的数据进行按所写条件进行过滤批次打印。声明:property RangeCaptionFields:TStrings 描述:通过填写过滤字段,对所要打印的数据进行按所写条件进行过滤批次打印。这里所指的字段为相应表头所定义的字段,如对日期加上相应的单号进行条件过滤。示例:起止日期:,H.PS_DD,Date 起止单号:,H.PS_NORp

6、tFileName用途:指定使用的是哪个套版文件名称。声明:property RptFileName:String 描述:这里指定的是使用的套版文件名称,程序通过指定的套版名称自动的去过滤相应的套版文件。Eg:INVCA可取得INVCA01.0 INVCA02.0 INVCA03.0.(简体)或INVCA01.1 INVCA02.1 INVCA03.1(繁体)示例:INVCA TemplateCount 用途:指定同时使用套版打印的打印机的台数。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 18 页 -声明:property TemplateCount:word描述:这里指定的

7、是同时使用套版打印的打印机的台数,一般而言指定的台数由一台到三台打印机,也就是同一笔数据最多可以指定三台不同的打印机打印三个不同的套版文件。示例:1 或 2 或 3 事件OnCustomClick 用途:指定用户自定义一个OtherBtn 触发的事件。声明:property OnCustomClick:TcustomClickEvent 描述:指定用户自定义一个OtherBtn 触发的事件。在此事件中用户可以自行定义事件,触发一些特殊处理的功能。OnDefBodyFields 用途:指用户可以在此定义套版表身的所需要的字段所触发的事件。注意:如果对于实际数据库中已经存在的表身的表身字段,在此不

8、需要定义。声明:property OnDefBodyFields:TDefNotifyEvent 描述:指用户可以在此定义套版表身的所需要的字段。注意:如果对于实际数据库中已经存在的表身的表身字段,在此不需要定义。在此定义的字段都为存在于临时库的字段,一但程序退出,将自动释放。在实际的FASDATA 指定的数据库中并不存在。在此处定义的字段和实际的表身库的字段都为套版打印变量定义的表身字段,在BBFM 定义变量时的变量类型一定不要定义错,并且定义相关的变量名称时,其相应的字段名称/二级条件 的字段一定在表身库或在此定义的临时库定义了相关的表身字段。的取得的相关的否则取出的值将不正确。示例:pr

9、ocedure TInvCAForm.MPrintWindow1DefBodyFields(Table:TTable);begin with Table.FieldDefs do begin Add(UNIT_NAME,ftString,4,False);Add(PRD_NO_SUP,ftString,20,False);Add(PRD_NAME_SUP,ftString,20,False);Add(UT_UP,ftFloat,0,False);Add(QTY_SHOW,ftString,20,False);Add(NAME_ENG,ftString,100,False);Add(AMTN_T

10、AX,ftFloat,0,False);名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 18 页 -Add(CUS_NO,ftString,12,False);end;注意:由于本构件本身联的是一个表头、表身库,因此此出不需要定义索引end;OnDefHeadFields用途:指用户可以在此定义套版表头的所需要的字段所触发的事件。注意:如果对于实际数据库中已经存在的表身的表头字段,在此不需要定义。声明:property OnDefHeadFields:TdefNotifyEvent 描述:指用户可以在此定义套版表头的所需要的字段。注意:如果对于实际数据库中已经存在的表头的表头字段

11、,在此不需要定义。在此定义的字段都为存在于临时库的字段,一但程序退出,将自动释放。在实际的FASDATA 指定的数据库中并不存在。在此处定义的字段和实际的表头库的字段都为套版打印变量定义的表头字段,在BBFM 定义变量时的变量类型一定不要定义错,并且定义相关的变量名称时,其相应的字段名称/二级条件 的字段一定在表头库或在此定义的临时库定义了相关的表头字段。否则取出的值将不正确。示例:procedure TInvCAForm.MPrintWindow1DefHeadFields(Table:TTable);begin with Table.FieldDefs do begin Add(Send_

12、MthStr,ftString,20,False);Add(AMTN_TAX,ftFloat,0,False);/wmq 98.09.06 Add(AMTN_TOTAL,ftFloat,0,False);Add(COMPNO,ftString,4,False);注意:同样由于本构件本身联的是一个表头、表身库,因此此出不需要定义索引。end;end;OnFillSheet 用途:指用户可以根据打印的页面选择打印相应的页时是触发的事件。声明:property OnFillSheet:TdefNotifyEvent 描述:用户可以根据打印的页面选择打印相应的页。此选择是根据被打印的表身的内容决定所要

13、打印的内容。此功能很少涉及真正的使用。示例:procedure TInvCAForm.MPrintWindow1FillSheet(var Sheet:MSheet;HeadTable:TTable;PageNo:Integer);begin 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 18 页 -end;OnPrintAfter 用途:指用户可以在当前每一笔数据被打印完后触发触发的事件。声明:property OnPrintAfter:TPrintEvent 描述:用户可以在当前每一笔数据被打印完后返回处理相应表头表身资料的处理。此功能很少涉及真正的使用。示例:proced

14、ure TInvCAForm.MPrintWindow1PrintAfter(Printed:Boolean);begin end;OnSetBodyFields 用途:指用户可以在此写入已定义套版表身字段的值时所触发的事件。注意:在此写的资料是 FASDATA 数据库中不存在的表身值。声明:property OnSetBodyFields:TsetNotifyEvent 描述:用户可以在此写入已定义套版表身字段的值。在此写的资料是FASDATA 数据库中不存在的值。是写到相应的BodyTable 中,当在套版里定义了相关的变量时就会从此临时库中取出相应的值。示例:procedure TInv

15、CAForm.MPrintWindow1SetBodyFields(HeadTable,BodyTable:TTable);begin with BodyTable do begin FieldByName(UNIT_NAME).AsString:=Unit_Name(FieldByName(PRD_NO).AsString,FieldByName(UNIT).AsString);end;end;OnSetHeadFields 用途:指用户可以在此写入已定义套版表头字段的值时所触发的事件。注意:在此写的资料是 FASDATA 数据库中不存在的表头值。声明:property OnSetHeadF

16、ields:TSetHeadNotifyEvent 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 18 页 -描述:用户可以在此写入已定义套版表头字段的值。在此写的资料是FASDATA 数据库中不存在的值。是写到相应的HeadTable 中,当在套版里定义了相关的变量时就会从此临时库中取出相应的值。示例:procedure TInvCAForm.MPrintWindow1SetHeadFields(HeadTable:TTable);begin with HeadTable do begin Edit;FieldByName(AMTN_TAX).AsFloat:=WeiShui.Value+ShuiE.Value;FieldByName(AMTN_TOTAL).AsFloat:=WeiShui.Value+ShuiE.Value-end;end;MexcelPrinter 本构件是用于单独对于只具有临时表头、表身的资料数据进行特殊处理的打印,本构件不同于MprintWindow,MexcelPrinter 构件对临时的HeadTable Bodytable 的数据库都完

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号