自学delphi 写了个支票,进账单,电汇等银行票据的打印软件。大家看看。(0分)

  • 主题发起人 主题发起人 delhpi
  • 开始时间 开始时间
D

delhpi

Unregistered / Unconfirmed
GUEST, unregistred user!
富翁称号 delhpi
注册时间 2006-10-13
自学大概1个月时间(不是注册了大富翁就会写程序的),之前完全不懂PAS语法,本身学的是会计。
软件实现功能如下
1、精确到0.MM的打印。
2、对打印项目能自动缩小,自动换行
3、TCombobox支持 模糊搜索 (推荐你试试,看Combobox的反应)
4、打印后,自动保存新的项目(单位信息,用途等)
5、能根据单位名称的拼音缩写查询单位信息
6、支持批打的自动连续打印(和单张票据用的是同一个按钮,连续打印时,居然没有用循环)
7、其他和银行票据要求相关的功能(要具体用时才能感觉到),如支票小写金额套打,支持“us¥”中英文混合的货币符号打印,我实际打印测试,发现非常准,每个字符都在格子正中位置。
如果您有打印机,可以打印放入A4纸,试试打印一张支票,软件的默认设置应该很美观了。
软件在网络硬盘。
http://delhpi.ys168.com
希望和初学者交流,更希望高手批评指点。
掌声没有资格期望,希望大家给点鼓励。
 
好东西,利害啊
 
兄弟你很强啊
 
这样的软件自己用还可以,
通用性比较差,
可以参考一下用友华表票据通的设计思路
所见即所得
 
参考一下用友华表票据通的设计思路
=====
是啊,他用的是组件技术,支持对象的持久化等,用VC6写的,专业的公司,专业的开发人员,经过多年的完善,功能很强大,但很复杂,据我了解,一般的出纳(很多卖这个软件的人都不会,不要说设计新的票据,就是将已经设计好的票据,在他自己的打印机上套打调试一下也不会,什么叫打印头误差?会用office打印文档的人很多都不懂)是不会用他的强大的功能,只会简单的用用(输入数据,点击打印)。

我的目标就是银行票据方面,思路就是,把简单--这个缺点变成优点,一看就会用,老少皆宜。
打个比方,他是大卡车,各种东西都能装,我的是小轿车,设计上就是装人的。因为是专门针对某个方面,所有在功能上有自己的特色,

比如拼音缩写查询单位名称,它的软件就没法做这个功能,原来做了,后来也取消了。

他的打印按钮只能放在工具栏上,每次要用鼠标点击,我的只要一路回车,自动打印,基本不用鼠标。

比如票据打印用的打印机,它的所有票据只能同时在一个打印机上打印,我的可以不同票据打印到不同打印机(支票就适合用激光打印机,连续打印,就像普通的文档一样打印;其他票据用针式的),各个票据打印设置都不影响。

用户不管你用什么技术(用Ms Access 照样能开发非常实用的软件),他需要的是马上能用的软件,简单,方便。

这个软件,可以打印常见的各种银行票据(以一个地级市的所有银行的所有常见票据为例或者说,企业财务的实际需要)。

其他很多票据,如
发票,全国都有防伪税控系统。
各个MIS系统中的单据,收料单,入库单等都和特定的系统关联,各个系统本身就有了,而且也无法用外部的票据打印软件来打印。
财务上的凭证,账簿 ,报表,各个财务软件中都有打印功能了。


剩下需要单独打印的很少了。
 
银行票据的打印,实际上就是简单的套打。。。
 
关注一下。票据打印最难做的就是在什么类型的打印机上都打出一样的纸张。
 
来自:easykoala, 时间:2006-12-4 8:22:16, ID:3638295
银行票据的打印,实际上就是简单的套打。。。
==========
银行票据能打印了,其他票据就不在话下了。
 
今天正好到朋友那里有事,特地在他的电脑上试了试软件,运行一切正常,打印了一张支票,一张电汇,效果和设计的吻合。

发现一个DELPHI的问题,就是我的打印记录窗口,打开时是自动最大化的,窗口顶部没有正好显示在屏幕顶部,离屏幕顶部还有一段距离,而窗口底部却正好超过屏幕底部一点,水平滚动条显示不全。它的电脑是windows xp 是默认风格,是不是因为XP的窗口标题条比WIN98 WIN2000 win2003风格的要高一点的原因?

将窗口还原后,是能拖动窗口到屏幕顶部的。

大家帮我看看是什么原因?
 
在FormCreate里
Self.WindowState := wsMaximized;
就可以了,
看样子确实delphi编程时间不长
 
我这个窗体,在设计时,那个属性就是设置成wsMaximized的,是否和你的提示一样的意思?

在XP上运行时,点击 打印记录,那个窗口是最大化了,但是整个窗口好像不是充满整个桌面,而是好像整体往下移动了一点,底部的混动条有一部分显示在任务栏下面。鼠标放在标题栏上,也不能往上拖。

我怀疑是否和这个属性有关?
Position property
我设置的是
poDesktopCenter

说实话,我还不能说,没有资格说 会DELPHI编程,慢慢来吧,向大家学习。
 
楼主最好能抓个图看看.否则,俺着实不敢执行那个压缩过的EXE.如果支票能打过去,那什么也不怕了.不知楼主打废过多少支票,这种重要空白凭证,基本上很难拿到,更何况一下要作废那么多,银行方面恐怕....如果是复印下来的效果肯家差异很大,最起码要剪裁一下吧,实际效果不说,也很费精力."我实际打印测试,发现非常准,每个字符都在格子正中位置。"在这么短的时间内真要达到这种效果,确是令人惊叹.这是最关键的地方,其他方面只不过是一些配襟的花絮.我提示楼主,最好在二种以上打印机或两台以上的同一种打印机用真实票据试一下,其差异是--极为惊人的,试想一下支票上小写金额串一个空格会是什么效果.我见到最好的是效果是软件配合专用的票据打印机.第二此类软件如何依赖参数调节的话,别说财会人员连专业人员都不会碰它的,这是对人耐心的最大考验.我曾试想过用验印的类似技术,打印此类东西,但俺是办不到,有办到的恐怕成本惊人.以后,电子转帐可能才是真正的出路.
喝多了,经历相仿而已,所以啰嗦了一些.欢迎楼主来到DELPHI这个大家庭.
 
抓什么图,是我软件在票据上打印出来的效果图?没有问题。

不同打打印机,因为进纸方式,出字方式,页边距等参数不同,所以在一台打印机上调试好的模版位置,到别的打印机上,不会一下子就正好套打准确的,但是这仅仅是整体偏移,票据的各个项目的相对位置没有变,只要整体移动一下就行了(如果用尺量的话,2次就够了)。

在打印调试方面,我有实际的经验,调试过的打印机应该是2位数了,激光,喷墨,针式,还有打印、复印、扫描一体机都有,hp 5000 A3页面的打印机都能打印支票。不是像楼上说的那样。最快的一次,我3分钟之内,调试好支票,进账单。关键是调试方法。对一台新打印机,放入A4纸,用票据软件先随意打印一张票据,就可以知道 进纸方式,出字方式等,然后就有的放矢了,用票据复印件打印一下,看整体偏移了多少,很快的。我这里的第1 2 3 4 5 7院 妇幼 中医院 都是我调试的。有的单位甚至没有用一张真支票调试。关键是方法。

如果到不同的打印机上,票据的各个项目的相对位置也变了,说明是软件程序没有写好,和打印机没有关系。比如数字 1 2 3 在一台打印机上打印出来的间隔是3.9mm,到别的打印机上,这个间距变了,说明打印函数写的有问题。

用软件打印票据,本身对打印机没有特殊要求。通常,针式打印机,能平推进纸的比滚筒进纸的要好点,激光打印机比喷墨打印机要好点。

电子转账是大趋势,但社会是多样化的,不会千篇一律的。告诉你一个真实的例子,有个单位,大单位,特地把票据打印软件安装在不和局域网连接的机器上。

欢迎你和我讨论这个话题。
 
来自:活化石, 时间:2006-12-4 21:39:05, ID:3638968
==========
最近招商银行网上银行专业版升级了它的 ActiveX 控件,号称增强了安全性.但是这个版本的制作水平是如此之业余,令人震惊.Xin LI 在他的 blog 中详细分析了这个版本的 ActiveX 控件,并指出了其可能存在的安全隐患.
http://news.csdn.net/n/20061201/98696.html
 
谢谢你的回复
 
来自:活化石, 时间:2006-12-5 9:33:08, ID:3639178
谢谢你的回复
==========
我软件打印票据的实际效果,票据已经打印好,扫描后,上传到网络硬盘。有兴趣可以看看。交流一下。

已经上传。
 
大家用上网银行的要适当留心一下。

网银窃贼两天狂盗11万
http://news.163.com/06/1204/15/31GRGD370001124J.html
 
票据打印的效果图片 已经上传。
 
来自:delhpi, 时间:2006-12-4 16:39:15, ID:3638802 | 编辑
今天正好到朋友那里有事,特地在他的电脑上试了试软件,运行一切正常,打印了一张支票,一张电汇,效果和设计的吻合。

发现一个DELPHI的问题,就是我的打印记录窗口,打开时是自动最大化的,窗口顶部没有正好显示在屏幕顶部,离屏幕顶部还有一段距离,而窗口底部却正好超过屏幕底部一点,水平滚动条显示不全。它的电脑是windows xp 是默认风格,是不是因为XP的窗口标题条比WIN98 WIN2000 win2003风格的要高一点的原因?

将窗口还原后,是能拖动窗口到屏幕顶部的。

大家帮我看看是什么原因?


来自:ycxy, 时间:2006-12-4 17:24:31, ID:3638833
在FormCreate里
Self.WindowState := wsMaximized;
就可以了,
看样子确实delphi编程时间不长
======================
这个问题,通过一个网友的帖子解决了 。非常简单。
在FORM.SHOW事件里
Self.BoundsRect := Screen.WorkAreaRect;
就可以了。
 
最近打印预览功能也实现了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部