VB打印条码极简单方法.docxVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB打印条码极简单的方法 公司接到一个医院病案的软件升级改造任务,在客户的程序中增加打印条码功能,因为客户的程序是VB开发的,因为客户提出需要自行调整打印参数等,一开始就调用word来打印,文字等信息都能够正常打印出,打印参数也能够调整,打印效果很好,但是打印的条码不能识别; 于是寻求万能的Internet,搜索后发现网上的许多资料都是于code39为例,要不就是复杂,使用code39的条码原理,使用画图控件画图来实现;要不就是看不懂,不能实现;要不就是很简单,也下载了相关的代码,也有在word中调用barcode控件,但是我一直到没有找到可行或者说看明白的(代码都是没有注释的),也下载多个代码,但是使用barcode在word打印的都没有成功,最后在绿竹小龙的博客中找到可行的方法,并且是说的很明白的(有些细节不详,需要认真思考后才明白!),也是使用mocrosoft的barcode控件,打印form,在这总结了我的经验,给大家参考,避免大家走弯路,在这里特别感谢绿竹小龙,也感谢各位的无私奉献,大家如果不明白可163.com联系。 注册mocrosoft的barcode控件,网上可以找到并下载; 使用新form来显示打印的内容,调整form的大小与打印纸的大小一样 添加picture控件,为什么要使用picture控件,是在打印后发现,没有picture控件打印的效果很差,字体看不清;在picture控件上添加barcode的控件,在picture控件上添加barcode的控件,STYLE属性控制条形码的类形,当值为6时为CODE39码(仅包含最简单的数值和字符,零售流通领域常用),当值为7时为CODE128码(字符比较齐全,目前比较通用),结合客户的要求,编程中使用CODE128码 添加其他的需要打印的控件,设置好字体等, 激活from时将需要打印的内容赋值给对应控件, 等待1秒后(因为picture控件的关系,赋值后马上打印经常会出现空白内容) 打印form 关闭form 具体的代码见下: 使用条码机打印,条码纸规格是6cm*6cm 打印的内容有住院号、住院号+住院次数的条码、姓名、性别、出院日期、入院日期、出院科室 所以form的内容是:picture控件、text控件、label控件的背景色设为与条码纸一样的颜色(白色),条码是用barcode控件,其他使用text控件。 Form激活时的代码: Private Sub Form_Activate() ‘Form激活时的代码 Dim ZYH As String ‘定义住院号为文本类型 Dim ZyhTemp As String ‘定义临时的住院号为文本类型 For i = 0 To Me.LblBL.Count ‘根据标签控件的个数(与text控件的个数相对应,方便赋值) Me.TextBL(i).Text = FrmBLFMPrint.TextBL(i).Text ‘从其他form将需要打印的控件值赋值过来,准备打印 Next 去掉住院号前面的0,要求不打印住院号前面的0 ZYH = Trim(Me.TextBL(1).Text) ZyhTemp=zyh For i2 = 1 To 10 ‘住院号是10位的,所以从左边逐一检查住院号,将0全部去掉 If Left(ZYH, 1) = 0 Then ‘左边第一位是0,则去掉0 ZYH = Right(ZYH, Len(ZYH) - 1) Else ‘当检查到左边第一位非0时,就退出循环,并保存最后的住院号 Me.TextBL(1).Text = ZYH Exit For End If Next 住院次数标准为3位数字,不够位数前面补0 Dim ZYCS As String ZYCS = Trim(Me.TextBL(0).Text) For i = 0 To 3 - Len(Trim(Me.TextBL(0).Text)) - 1 ZYCS = 0 ZYCS Next Me.BarCodeCtrl1.Value = zyhtemp zycs ‘给条码控件赋值 Sleep 1000 ‘暂停1秒 Me.PrintForm ‘打印窗体 Unload Me ‘关闭窗体 End Sub 打印效果: 在看了绿竹小龙的博客后,我也尝试的他说的方法,但是条码死活就是不能识别,他的截图能够识别条码,我按照他的方法连截图后不能识别,非常郁闷。最后只能是不是打印窗体的方法来完成任务,缺点是不能在打印时调整打印参数了。 在这里附上他的方法:他的一开始的方法是使用windows的API函数,先对条码控件抓图,在贴到picture控件后再打印,也是发现打印出的条码不能识别,最后也是使

文档评论(0)

xiaofei2001129 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档