VB 识别条形码一、条形码的读取
用过键盘口式的扫条码工具的朋友就知道,它就如同在键盘上按下数字键一样,基本不需任何编程和处理 。但如果你使用的是其它接口的话,可能你就要为该设备编写通讯代码了 。以下有一段简单的25针串口的条码读取器通讯代码 。
OptionExplicit
DimsDataAsString
PrivateSubForm_Load()
WithMSComm1
.CommPort=3'设为COM3,试运行的系统而定,你可提供一个Combox让用户选择 。
.PortOpen=True '打开通讯端口
EndWith
EndSub
PrivateSubMSComm1_OnComm()
DimEndPosAsInteger
SelectCaseMSComm1.CommEvent
CasecomEvReceive'当有数据传送过来时
sData=https://www.04ip.com/post/sDataTrim(MSComm1.Input)
'检索回车,通常读卡机每组数据结尾都返回一个回车作为结束符
EndPos=InStr(1,sData,Chr(13))
IfEndPos=0Then'如果未结束就继续努力
Else'读完一组 。
lblBarCode.Caption=sData'显示一组条形码
WithlstBarCode
.AddItemMid(sData,1,EndPos-1)'添加一组条形码到列表
EndWith
sData=""'清空
EndIf
EndSelect
EndSub
PrivateSubcmdEnd_Click()
MSComm1.PortOpen=False'关闭端口
End
EndSub
二:条形码的生成
在VB上编程本来就不难 。以下关于条形码生成的代码也是很容易理解,只需使用一个OFFICE的附带的BarCode控件就可以轻松打印出11种不同标准的条形码 , 足以满足我们的要求 。想起我书架上的一本书中的一篇用TurboC编写条形码打印程序文章,长篇大论,那时不知看了n天,打了n小时字结果也不尽人意,现在真是幸福多了:) 。废话说完,得回归正题 。且看条形码生成的代码及有关说明 。
源代码主要由两个窗体(frmMain主窗体和frmOption条码设置窗体)和两个模块组成(modGetScreen.bas、SysDLG32.bas) 。考虑到篇幅,这里只列出部分较为关键的代码 。
新建一个标准工程,添加一个名为(MicrosoftAccessBarCode
Control9)的条形码部件,并添加一个条码控件到窗口 , 并将窗口改名为frmMain,如图所示 。由于控件比较多,这里不便细说 , 详细内容请看源代码 。
模块modGetScreen.bas代码如下:
OptionExplicit
声明BitBlt、GetDesktopWindow、GetWindowDC、ReleaseDC这几个API函数略
PublicRegUserAsBoolean
SubGetObjImage1(ObjAsObject,OwnerFormAsPictureBox,Picture1
AsPictureBox)
'hDC
DimhWndDeskAsLong
DimhDCDeskAsLong
'区域表达变量
DimxAsLong
DimyAsLong
DimwAsLong
DimhAsLong
x=Obj.LeftScreen.TwipsPerPixelX
y=Obj.TopScreen.TwipsPerPixelY
w=Obj.WidthScreen.TwipsPerPixelX
h=Obj.HeightScreen.TwipsPerPixelY
hDCDesk=OwnerForm.hdc
'取出图像
CallBitBlt(Picture1.hdc,0,0,w,h,hDCDesk,x,y,
vbSrcCopy)
CallReleaseDC(hWndDesk,hDCDesk)
EndSub
【vb.net打印条形码 web条码打印】主窗体frmMain.frm部分代码如下:
PrivateSubcmdPrint_Click()
'生成条形码图像
DimrAsLong,iAsInteger,tAsString,cfileAs
String'临时变量
t=BarCode
Fori=0ToVal(Times)-1
BarCode1.Value=https://www.04ip.com/post/BarCodei
DoEvents
Picture1.Refresh
GetObjImage1BarCode1,Conel,Picture1
IfRegUser=FalseThen'如果未注册添加MASK标记
Picture1.PaintPicturePicture2.Picture,300,300
EndIf
IfDir(SavePath,vbDirectory)=""ThenMkDirSavePath
SavePath=SavePathIIf(Right(SavePath,1)"","",
"")
cfile=SavePathBarCode1.Value".bmp"
SavePicturePicture1.Image,cfile'将条形码保存为图像文件以便打印
Next
BarCode=t
EndSub
条形码设置窗体frmOption.frm代码如下:
OptionExplicit
'条形码设置模块
PrivateSubcboBig_Click()
BarCode1.Style=cboBig.ListIndex'改变标准
EndSub
PrivateSubcboDirection_Click()
BarCode1.Direction=cboDirection.ListIndex'改变方向
EndSub
PrivateSubcboLine_Click()
BarCode1.LineWeight=cboLine.ListIndex'改变线宽
EndSub
PrivateSubcboSmall_Click()
BarCode1.SubStyle=cboSmall.ListIndex'改变样式
EndSub
PrivateSubCheck1_Click()
BarCode1.ShowData=https://www.04ip.com/post/Check1.Value'是否显示数据
EndSub
PrivateSubcmdChange_Click()
'设置长、宽大小
BarWidth=BarCode1.Height
BarHeight=BarCode1.Width
cmdRefresh_Click
EndSub
PrivateSubcmdOK_Click()
'传送条形码设定到主界面
WithfrmMain.BarCode1
.LineWeight=BarCode1.LineWeight
.Style=BarCode1.Style
.SubStyle=BarCode1.SubStyle
.Direction=BarCode1.Direction
.Width=BarCode1.Width
.Height=BarCode1.Height
.ShowData=https://www.04ip.com/post/BarCode1.ShowData
Me.Hide
EndWith
WithfrmMain
.Picture1.Width=.BarCode1.Width
.Picture1.Height=.BarCode1.Height
.Conel.Width=.BarCode1.Width
.Conel.Height=.BarCode1.Height
EndWith
EndSub
PrivateSubcmdRefresh_Click()
BarCode1.Width=BarWidth
BarCode1.Height=BarHeight
EndSub
PrivateSubForm_Load()
LoadBarInfo
BarWidth=BarCode1.Width
BarHeight=BarCode1.Height
EndSub
SubLoadBarInfo()'初始化选项
LoadBigClasscboBig
LoadSmallClasscboSmall
LoadLineSizecboLine
LoadDirectioncboDirection
EndSub
SubLoadBigClass(cboAsComboBox)'条码标准
Withcbo
.AddItem"UPC-A"
.AddItem"UPC-E"
.AddItem"EAN-13"
.AddItem"EAN-8"
.AddItem"CaseCode"
.AddItem"Codabar(NW-T)"
.AddItem"Code-39"
.AddItem"Code-128"
.AddItem"U.S.Postnet"
.AddItem"U.S.PostalFIM"
.AddItem"JPPost"
.ListIndex=2
EndWith
EndSub
SubLoadSmallClass(cboAsComboBox)'条码样式
Withcbo
.AddItem"Standard"
.AddItem"2-DigitSupplement"
.AddItem"5-DigitSupplement"
.AddItem"POSCaseCode"
.ListIndex=0
EndWith
EndSub
许多人在编写数据库应用程序时,都想要加上条形码功能加强工作效率,尤其是销售管理 , 图书馆管理这类流量大的应用软件 , 但由于条形码技术难以掌握、标谁又多以及过去的技术种种原因 , 使得许多人望而却步 。本文介绍的一套简单实用的条形码解决方法,希望能帮助各位完善软件系统的功能 。
VB.NET如何操作条码扫描枪,如何设置,如何进行条形码的设置及打印这个要看扫描枪的通讯接口和通讯协议 , 以及接口程序是否支持VB.NET等 。
vb.net 打印功能可以把数据导出到EXCEL,然后使用EXCEL进一步处理后使用 。
也可以做成vb报表(VB自带有) 。
先设置报表格式,打印时向报表传递数据就可以了 。
vb.net 传参调用BarTender模板实现动态打印你用的版本太高了吧 。我用的7.75 你参考一下 先要打开bartend.exe Shell ("D:\Program Files\Seagull\BarTender\7.75\bartend.exe /af=E:\abc\abc.btw /p /x /?qdh="""randqdh"""") dll应该是不用调用的,调用dll需要用正版
VS2005如何用VB.NET代码实现打印功能有个PrintDocument控件,可以实现打印 。。。
MSDN原话:
使用 PrintDocument 组件
涉及 PrintDocument 组件的两种主要情况是:
简单的打印作业,如打印单个文本文件 。在这种情况下 , 应将 PrintDocument 组件添加到 Windows 窗体,然后在 PrintPage 事件处理程序中添加打印文件的编程逻辑 。该编程逻辑应以使用 Print 方法打印文档结束 。
此方法向打印机发送一个 Graphics 对象,该对象包含在 PrintPageEventArgs 类的 Graphics 属性中 。
有关如何使用 PrintDocument 组件打印文本文档的示例,请参见
如何:打印 Windows 窗体中的多页文本文件 。
更为复杂的打印作业,如想要重新使用已编写的打印逻辑的情况 。
在这种情况下,应从 PrintDocument 组件派生一个新组件,并重写
(请参见 Visual Basic 的 重写或 C# 的 重写) PrintPage 事件 。
将 PrintDocument 组件添加到窗体后 , 它出现在 Windows 窗体设计器底部的栏中
关于vb.net打印条形码和web条码打印的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 即时战略类游戏手机测评,即时战略游戏手游排行榜
- ios怎么恢复删除的视频,ios永久删除的视频怎么恢复
- 荣耀5x鸿蒙刷机bao,荣耀5cmiui刷机包
- python不支持的函数 python不支持的函数有
- asp.netweb进度条,net framework 35进度条不动
- 单机游戏赛车游戏,单机游戏 赛车
- python随机挑选函数 python中随机选取一个元素
- 如何避开视频广告推广,如何避开视频广告推广问题
- 如何营销好公司,如何营销公司官网