您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 业务委托书打印管理程序说明文档
中国工商银行业务委托书、现金(转账)支票打印管理程序可对工行的业务委托书/支票进行管理打印。录入时以真实汇票图片为背景,格式遵守银行业务要求。主要难点:1.套打。由于格式固定,要想在制定位置打印内容,定位非常困难,需要多次尝试。为此采用了一个精确打印的函数,可以摆脱分辨率的困扰,直接以左边距和顶边距(单位:mm)为参数,通过打印函数:PrintText(left,Top,‘打印内容’,‘config.txt’,fontsize)本函数包括在单元文件mprint.pas中,其中还定义了2个函数,分别用来设置纸张setpapaerwidth()和setpapaerheight()。2.打印内容过长时,为了防止打印出边界,需要对内容长度做判断,把长字符串截断,打印成2行。注意delphi对中文字符的判断和截取函数leftstr()和leftbstr()的应用。特别的,对于委托书正文部分和回执部分,每行的字符个数并不相同,需要分别判断。3.金额小写转换成大写。这个利用了一个现成的函数small2big(),可以准确判断小数点位置。此事件在dbedit.Change发生。此外,个别支票需要把日期也大写,搜集了一个日期大写转换函数datedxzh(),本程序中不用转换。4.金额小写的打印和对齐。由于小写金额的打印框间距比普通字符大,所以需要把小写金额字符串‘拉长’,在此使用了一个API底层的函数:SetTextCharacterExtra(Printer.Canvas.Handle,55);//设置字距,然后通过函数:Textout(Printer.Canvas.Handle,左边距点数,上边距点数,PChar(‘金额字符串’),Length(‘金额字符串’));语句Printer.Canvas.Font.Size:=9用来指定打印的字体大小。特别注意,为了避免别的打印内容和金额采用相同的字符间距和字体大小,最好把金额打印部分放在最后。每张汇票打印完毕后重新启动程序,打印下一张,因为在此没有复原字符间距和字体。在测试不同长度的金额(包括前置¥符号)时,需要根据字符串长度,调整打印位置,以保证不同长度的金额小写全部落在制定的格子内。stringreplace(Format('%.2f',[金额数]),'.','',[])语句可保证金额都保留2位小数,并且把小数点去掉!5.自定义纸张。代码中保留了设置自定义纸张部分的函数addcustompaper(‘纸张名称’,宽度,长度),但未使用。汇票的尺寸为210mm×150mm,基本相当于A5纸张,不同的计算机和打印机设置及进纸方式可能会有不同。6.由于委托人信息银行已经打印好了,所以打印时屏蔽掉了此类语句。7.数据库采用了access连接,未设置密码。8.为了方便操作,主要手工填写项目都可以通过回车切换到下一个录入项目处。9.修订了一个大写金额转换的错误,更符合银行的标准读法。分位有数字时大写结尾不加“整”字。中间有数字0或者连续0时的读法要符合财会标准。10.增加了小写金额加大字符间距的恢复功能,防止连续打印时所有字符串被加大间距的错误出现。SetTextCharacterExtra(Printer.Canvas.Handle,0)。11.为了防止存根栏名称字符串过长,存根里面的内容都通过拷贝主联信息,并可以随意修改。12.支票打印程序中的日期为大写(与人民币大写写法相同)。加入了日期大写转换函数。13.打印前增加了打印机设置调用,以便于为支票和业务委托书选择不同的纸张尺寸。14.背景图片采用了扫描方式,更清晰真实。15.窗体大小相对固定,避免变形。【2010年11月20日】1.调整日期大写的格式,以符合银行的要求。2.增加字段“附加信息”,注意控制字符串过长时换行。3.设置状态保存功能,以便于控制某些项目是否需要打印出来。4.增加“微调”功能,可以对支票打印位置进行整体的偏移调整。5.精简数据库并考虑对数据库进行加密。6.加入版权信息,考虑进行注册付费功能,准备推广!7.config.txt文件中,当y的值增大时,打印出来的字体整体上移;x增大时,打印出来的字体将整体左移,单位是mm。【2011年4月21日】1.修正了人民币大小写转换的错误,启用了新的函数。原函数在转换诸如1234567.40—1234567.38时会大写显示少一分钱。2.开户行名称进行了换行判断处理。防止名称过长无法打印到位。【2011年7月22日】1.字体加粗。修改mprint.pas的printtext()函数描述,更改过程描述中的字体型号改为fsblod。2.修改Tfontstypes和TfontStype类型不兼容的问题。【2011年8月1日】1.继续修正人民币大小写转换的代码,摒弃了原先的错误代码,目前有2套函数正确,分别是strtormb(string)和n2c(real,boolen)。
本文标题:业务委托书打印管理程序说明文档
链接地址:https://www.777doc.com/doc-5557524 .html