- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中国工商银行业务委托书、现金(转账)支票
打印管理程序
可对工行的业务委托书/支票进行管理打印。录入时以真实汇票图片为背景,格式遵守银行业务要求。主要难点:
套打。由于格式固定,要想在制定位置打印内容,定位非常困难,需要多次尝试。为此采用了一个精确打印的函数,可以摆脱分辨率的困扰,直接以左边距和顶边距(单位:mm)为参数,通过打印函数:
PrintText(left,Top,‘打印内容’,‘config.txt’,fontsize)
本函数包括在单元文件mprint.pas中,其中还定义了2个函数,分别用来设置纸张setpapaerwidth()和setpapaerheight()。
打印内容过长时,为了防止打印出边界,需要对内容长度做判断,把长字符串截断,打印成2行。注意delphi对中文字符的判断和截取函数leftstr()和leftbstr()的应用。特别的,对于委托书正文部分和回执部分,每行的字符个数并不相同,需要分别判断。
金额小写转换成大写。这个利用了一个现成的函数small2big(),可以准确判断小数点位置。此事件在dbedit.Change发生。此外,个别支票需要把日期也大写,搜集了一个日期大写转换函数datedxzh(),本程序中不用转换。
金额小写的打印和对齐。由于小写金额的打印框间距比普通字符大,所以需要把小写金额字符串‘拉长’,在此使用了一个API底层的函数:
SetTextCharacterExtra(Printer.Canvas.Handle, 55); //设置字距,然后通过函数:
Textout(Printer.Canvas.Handle,左边距点数,上边距点数, PChar(‘金额字符串’), Length(‘金额字符串’));语句Printer.Canvas.Font.Size := 9用来指定打印的字体大小。特别注意,为了避免别的打印内容和金额采用相同的字符间距和字体大小,最好把金额打印部分放在最后。每张汇票打印完毕后重新启动程序,打印下一张,因为在此没有复原字符间距和字体。在测试不同长度的金额(包括前置¥符号)时,需要根据字符串长度,调整打印位置,以保证不同长度的金额小写全部落在制定的格子内。
stringreplace(Format(%.2f, [金额数]), ., , [])语句可保证金额都保留2位小数,并且把小数点去掉!
自定义纸张。代码中保留了设置自定义纸张部分的函数addcustompaper(‘纸张名称’,宽度,长度),但未使用。汇票的尺寸为210mm×150mm,基本相当于A5纸张,不同的计算机和打印机设置及进纸方式可能会有不同。
由于委托人信息银行已经打印好了,所以打印时屏蔽掉了此类语句。
数据库采用了access连接,未设置密码。
为了方便操作,主要手工填写项目都可以通过回车切换到下一个录入项目处。
修订了一个大写金额转换的错误,更符合银行的标准读法。分位有数字时大写结尾不加“整”字。中间有数字0或者连续0时的读法要符合财会标准。
增加了小写金额加大字符间距的恢复功能,防止连续打印时所有字符串被加大间距的错误出现。SetTextCharacterExtra(Printer.Canvas.Handle, 0) 。
为了防止存根栏名称字符串过长,存根里面的内容都通过拷贝主联信息,并可以随意修改。
支票打印程序中的日期为大写(与人民币大写写法相同)。加入了日期大写转换函数。
打印前增加了打印机设置调用,以便于为支票和业务委托书选择不同的纸张尺寸。
背景图片采用了扫描方式,更清晰真实。
窗体大小相对固定,避免变形。
【2010年11月20日】
调整日期大写的格式,以符合银行的要求。
增加字段“附加信息”,注意控制字符串过长时换行。
设置状态保存功能,以便于控制某??项目是否需要打印出来。
增加“微调”功能,可以对支票打印位置进行整体的偏移调整。
精简数据库并考虑对数据库进行加密。
加入版权信息,考虑进行注册付费功能,准备推广!
config.txt文件中,当y的值增大时,打印出来的字体整体上移;x增大时,打印出来的字体将整体左移,单位是mm。
【2011年4月21日】
修正了人民币大小写转换的错误,启用了新的函数。原函数在转换诸如1234567.40—1234567.38时会大写显示少一分钱。
开户行名称进行了换行判断处理。防止名称过长无法打印到位。
【2011年7月22日】
字体加粗。修改mprint.pas的printtext()函数描述,更改过程描述中的字体型号改为fsblod。
修改Tfontstypes和TfontStype类型不兼容的问题。
【2011年8月1日】
1.继续修正人民币大小写转换的代码,摒弃了原先的错误代码,目前有2套函数正确,分别是s
您可能关注的文档
- 专业技术人员心理健康和心理调适4.doc
- 专业摄影师总结摄影心得.doc
- 专业安全文明生产考核标准12_27.doc
- 专业技术人员年终小结.doc
- 专业汽车销售员应具备6方面能力.docx
- 专业知识和人文素养的关系.doc
- 专业术语在国际惯例中是通用.docx
- 专业社工进入特殊教育学校的困境和发展.doc
- 专业职称资格-北京东城区.doc
- 专1不是1辈子只喜欢1个人,是喜欢1个人的时候.doc
- 2024年粤教版七年级生物上册阶段测试试卷含答案.docx
- 【8道期末】安徽省合肥市新站区2024-2025学年八年级上学期期末道德与法治试卷.pdf
- 2025-2030年中国ORC发电市场规模调研及前景发展趋势分析报告.docx
- 爱知初一数学期末考试.pdf
- 2025年华师大版高一数学上册阶段测试试卷含答案 .docx
- 第2章 生物与环境【测试卷】(解析版).docx
- 2025-2030年中国OGS触摸屏市场发展状况及投资前景规划研究报告.docx
- 2025年人教B版八年级科学上册阶段测试试卷含答案 .docx
- 2025年华东师大版选择性必修3化学下册月考试卷.docx
- 风险预警与应对策略指南.doc
文档评论(0)