我朋友有一个自己做的条码打印程序,如果你想要就给我来信,我会尽力叫他把源码给你[email protected]这份源码是他独自研究并找到规律后自创的,绝对原创,
解决方案 »
- 串口操作字符串传递不全的问题
- 一个关于 fpspread 得挺挠头的 小问题
- 关于MSCOMM控件的问题实现一台电脑的两个COM口通讯
- fpspread做网格编辑时,如何新增一行自动处理自动编号字段?
- 我在2000下使用Process32First获取进程的时候,为什么返回的总是0?
- SOS!高手来救急啊!
- 如何列出Access库中所有的数据表名?
- 100分的问题,值不值呀,大家看这个问题是咋回事?
- 来论坛很久了,第一次发帖子!大家不看看?来者有分!
- 我想知道VB如何操作刻录机,对DB进行备份?
- 求购外贸管理系统源码与旅行社管理系统源码 qq: 5139167,如有其它MIS源码也可联络
- 我的网站http://ydksy.51.net开播啦, 现寻几个志同道合的VB程序员,男女不限(嘿嘿, 恐怕很难找到女程序员吧!)
回复人: facky(facky) (2001-11-17 10:16:15) 得0分
我用的是专用的条形码打印机,有时候不知道如何控制他在一张条形码纸上打印。很麻烦!
回复人: ByTheWay(到此一游) (2001-11-18 17:05:11) 得0分 那更容易了! 有许多打印机能够直接打印条形码,但在 VB 中,我们在DOS时代熟悉的LPRINT语句已经不能再使用了,打印操作被Windows的Spool系统完全接管,输出是以“页”为单位,所有的打印输出都被Windows转换为图形发送给打印驱动程序。而要使打印机打印条形码就必须将对应的ESC序列直接发送给它,因此我们就要想办法避开Windows的Spool系统,也就是说再程序中不能使用Printer对象和Printers集合处理打印输出,在VB中要将ESC指令直接发送给打印机至少有三种方法,前两种方法是调用Windows API 函数:Escape()和SpoolFile(),第三种是最容易的方法:打开打印机端口进行二进制存取,我们主要考虑这种方法。 即使在Windows时代,”LPT1:”和”PRN”仍然是可用的,下面我们先作一个试验:打开一个DOS窗口,在提示符下输入COPY CON LPT1:回车,然后随便输入一些字符,最后按F6键,打印机就开始工作了,它将打印出你输入的那些字符!下面的代码演示了直接将指令和字符发送给打印机: Private Sub Command1_Click() Dim strOut As String StrOut = “这是直接发送到打印机端口的字符串” ‘ 打开打印机端口,其中的”LPT1:”可能需要根据你的打印机设置而改变 Open “LPT1:” For Binary Access Write As #1 ‘ 发送给打印机,注意语句的最后一个参数必须是变量 Put #1, ,strOut ‘ 关闭打印机端口 Close #1 End Sub 各种打印机打印条形码的指令可能不同,比如将上面的变量 strOut赋值为: strOut = Chr(28) & “P” & Chr(5) & Chr(2) & Chr(3) & Chr(3) & Chr(6) & “012345” 将在 AR2400 打印机上打印出内容为”012345”的 CODE39 格式的条形码。具体的打印控制指令请参考打印机手册。 用这种方法的缺点:一是过份依赖打印机本身,而有条形码打印功能的打印机通常要比普通打印机昂贵,这会使构造应用系统不够经济;二是所有的打印输出都必须你自己处理,比如打印定位就很浪费时间。