养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

如何在VB程序下生成二维条码

时间:2024-10-28 07:19:03

如何在VB程序下生成二维条码,包括PDF41QrCode、DataMatrix和汉信二维条码,具体步驺如下:

工具/原料

准备VB开发环境,VS6.0开发环境

方法/步骤

1、创建VB工程,COPY二维条码动态链接库到您的工程中。您需要引用的动态库有:EnCodePdf.dll,EnCodeQr.dll,EnDataMatrix和EnHanxin.dll。大家可以参照下图放置DLL和INI的目录位置。

如何在VB程序下生成二维条码

2、'动态链接库引用(说明:下面是所有四种条码的接口引用申明,读者可以适当剪裁)'串署孢颜匈口接口PrivateDeclareFunctionI荏鱿胫协nitReadLib"EnCodePdf.dll"(ByValhcallwndAsLong,ByValpathnameAsString)AsLongPrivateDeclareFunctionCloseReadLib"EnCodePdf.dll"()AsLong'生成PDF417接口PrivateDeclareSubSetPdfConFileLib"EnCodePdf.dll"(ByValconfileAsString)PrivateDeclareFunctionEnPdfTextLib"EnCodePdf.dll"(ByValtxtDataAsString,ByValoutfileAsString)AsStringPrivateDeclareFunctionEnCodePdfLib"EnCodePdf.dll"(ByValtxtfileAsString,ByValoutfileAsString)AsStringPrivateDeclareFunctionMakePdf417Lib"EnCodePdf.dll"(ByValtxtfileAsString,ByValpictfileAsString,ByValotherfileAsString,ByValoutfileAsString)AsString'生成QrCode接口PrivateDeclareSubSetQrConFileLib"EnCodeQr.dll"(ByValconfileAsString)PrivateDeclareFunctionEnQrTextLib"EnCodeQr.dll"(ByValtxtDataAsString,ByValoutfileAsString)AsStringPrivateDeclareFunctionEnCodeQrLib"EnCodeQr.dll"(ByValtxtfileAsString,ByValoutfileAsString)AsStringPrivateDeclareFunctionMakeQrCodeLib"EnCodeQr.dll"(ByValtxtfileAsString,ByValpictfileAsString,ByValotherfileAsString,ByValoutfileAsString)AsString'生成DataMatrix接口PrivateDeclareSubSetDmConFileLib"EnDataMatrix.dll"(ByValconfileAsString)PrivateDeclareFunctionEnDmTextLib"EnDataMatrix.dll"(ByValtxtDataAsString,ByValoutfileAsString)AsStringPrivateDeclareFunctionEnDataMatrixLib"EnDataMatrix.dll"(ByValtxtfileAsString,ByValoutfileAsString)AsStringPrivateDeclareFunctionMakeDataMatrixLib"EnDataMatrix.dll"(ByValtxtfileAsString,ByValpictfileAsString,ByValotherfileAsString,ByValoutfileAsString)AsString'生成HanXin接口PrivateDeclareSubSetHxConFileLib"EnHanXin.dll"(ByValconfileAsString)PrivateDeclareFunctionEnHxTextLib"EnHanXin.dll"(ByValtxtDataAsString,ByValoutfileAsString)AsStringPrivateDeclareFunctionEnCodeHxLib"EnHanXin.dll"(ByValtxtfileAsString,ByValoutfileAsString)AsStringPrivateDeclareFunctionMakeHanXinLib"EnHanXin.dll"(ByValtxtfileAsString,ByValpictfileAsString,ByValotherfileAsString,ByValoutfileAsString)AsString'WAPI接口PrivateDeclareFunctionSetCurrentDirectoryLib"kernel32"Alias"SetCurrentDirectoryA"(ByVallpPathNameAsString)AsLongPrivateDeclareFunctionWritePrivateProfileStringLib"kernel32"Alias"WritePrivateProfileStringA"(ByVallpApplicationNameAsString,ByVallpKeyNameAsAny,ByVallpStringAsAny,ByVallpFileNameAsString)AsLongPrivateDeclareFunctionGetPrivateProfileIntLib"kernel32"Alias"GetPrivateProfileIntA"(ByVallpApplicationNameAsString,ByVallpKeyNameAsString,ByValnDefaultAsLong,ByVallpFileNameAsString)AsLongPrivateDeclareFunctionGetPrivateProfileStringLib"kernel32"Alias"GetPrivateProfileStringA"(ByVallpApplicationNameAsString,ByVallpKeyNameAsAny,ByVallpDefaultAsString,ByVallpReturnedStringAsString,ByValnSizeAsLong,ByVallpFileNameAsString)AsLongPrivateDeclareFunctionSetWindowLongLib"user32"Alias"SetWindowLongA"(ByValhwndAsLong,ByValnIndexAsLong,ByValdwNewLongAsLong)AsLongPrivateDeclareFunctionSetParentLib"user32"(ByValhWndChildAsLong,ByValhWndNewParentAsLong)AsLong'生成图像小波压缩接口'exportsfromnlcomp.dll图像压缩函数PrivateDeclareFunctionSizeDIBLib"Wcomp.dll"(ByValoldmapAsString,ByValBmpHeightAsInteger,ByValBmpWidthAsInteger)AsLongPrivateDeclareFunctionWcompressLib"Wcomp.dll"(ByValinfileAsString,ByValoutfileAsString,ByValbudgetAsLong)AsLongPrivateDeclareFunctionWdecompressLib"Wcomp.dll"(ByValinfileAsString,ByValoutfileAsString)AsLong

如何在VB程序下生成二维条码

3、进行条形码制作: 我们在薪姚蟪食引用API接口后,可以参照下面程序,实现接口调用 程序中txtfile表示文本文件名荑樊综鲶,binBmpFile表示输入的图像文件名 若需要装载图像可以采用Make开头接口,若不需要则采用En开头接口。If(txtfile<>""OrbinBmpFile<>"")ThenIfm_bWorkMode=1Then'PDF417SetPdfConFile(Edit_ConFileName.Text)If(Edit_ImgFileName.Text<>"")ThenstrBmpFile=MakePdf417(txtfile,binBmpFile,"","")ElsestrBmpFile=EnPdfText(Edit_Source.Text,"")EndIfElseIfm_bWorkMode=2Then'Qr_CodeSetQrConFile(Edit_ConFileName.Text)If(Edit_ImgFileName.Text<>"")ThenstrBmpFile=MakeQrCode(txtfile,binBmpFile,"","")ElsestrBmpFile=EnQrText(Edit_Source.Text,"")EndIfElseIfm_bWorkMode=3Then'DataMatrixSetDmConFile(Edit_ConFileName.Text)If(Edit_ImgFileName.Text<>"")ThenstrBmpFile=MakeDataMatrix(txtfile,binBmpFile,"","")ElsestrBmpFile=EnDmText(Edit_Source.Text,"")EndIfElseSetHxConFile(Edit_ConFileName.Text)If(Edit_ImgFileName.Text<>"")ThenstrBmpFile=MakeHanXin(txtfile,binBmpFile,"","")ElsestrBmpFile=EnHxText(Edit_Source.Text,"")EndIfEndIf

如何在VB程序下生成二维条码

4、打开关闭串口:条码编码控件一般自带串口接收处理接口:InitRead接口是初始化串口CloseRead接口是关闭串口IfCmd_OpenComm.Caption="连接串口"ThenCallSetPdfConFile(Edit_ConFileName.Text)IfInitRead(Me.hwnd,App.Path+"\")=1ThenCmd_OpenComm.Caption="断开串口"EndIfElse'关闭串口IfCloseRead()=1ThenCmd_OpenComm.Caption="连接串口"EndIfEndIf

5、接收条码识读器内容:串口收到识读器信息后,以键盘消息的形式,触发页面消息。我们调用FORM下,处理KeyDown事件。PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)DimFileNoAsIntegerDimstrTmpAsStringDimstrBmpFileAsStringstrBmpFile=App.Path&"\temp.bmp"IfKeyCode=255ThenFileNo=FreeFile()OpenApp.Path&"\temp.txt"ForInputAs#FileNoEdit_Source.Text=""DoWhileNotEOF(FileNo)strTmp=""Input#FileNo,strTmpEdit_Source.Text=Edit_Source.Text&strTmp&Chr(13)&Chr(10)LoopClose#FileNoIfDir(strBmpFile)<>""ThenKill(strBmpFile)EndIfIfDir(App.Path&"\temp.img")<>""ThenIfFileLen(App.Path&"\temp.img")>10ThenCallWdecompress(App.Path&"\temp.img",strBmpFile)EndIfEndIfIfDir(strBmpFile)<>""ThenImage_Bar.Picture=LoadPicture(strBmpFile)ElseImage_Bar.Picture=LoadPicture("")EndIfCmd_Print.Enabled=FalseEndIfEndSub

© 一点知识