版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
VB條形碼編程實例--2007-6-811:34:46
條形碼技術(shù)廣泛應(yīng)用于各行各業(yè),你隨便拿起一本書、一包薯片都可以在外包裝上找到,利用條碼讀取機便可將這一條條黑白相間、粗細不同的垂直線條識別而轉(zhuǎn)換為具體的數(shù)值,并將這個數(shù)值返回到計算機中進展處理。正是這樣,有了條形碼技術(shù),人們很方便就能取得該商品的有關(guān)信息如商品名稱、規(guī)格、價格等,因為每種商品都有其對應(yīng)的條形碼,這個條形碼計算機〔終端、效勞器〕中就可以迅速返回用戶,從數(shù)據(jù)庫中讀取約定的商品,信息使得銷售、進貨、存貨等等管理更有效率,也對防止假冒偽劣又一定的抑制作用。
條碼的編碼方式有多種,不同行業(yè),不同國家標準也不盡一樣。條形碼通過線條的粗細來表達其數(shù)值。至于接口方式一般也有多種,如鍵盤口的、串行口的。一般傳感裝置是光罩式的,也有筆式的。
上面籠籠統(tǒng)統(tǒng)地談了一些關(guān)于條形碼的知識,可幫助你更好地閱讀以下更深入的內(nèi)容。條形碼有關(guān)概念先說到這里,接著是詳細具體的編程實現(xiàn)方法。
一、條形碼的讀取
用過鍵盤口式的掃條碼工具的朋友就知道,它就如同在鍵盤上按下數(shù)字鍵一樣,根本不需任何編程和處理。但如果你使用的是其它接口的話,可能你就要為該設(shè)備編寫通訊代碼了。以下有一段簡單的25針串口的條碼讀取器通訊代碼。
OptionExplicit
DimsDataAsString
PrivateSubForm_Load()
WithMSComm1
.CommPort=3'設(shè)為COM3,試運行的系統(tǒng)而定,你可提供一個Combox讓用戶選擇。
.PortOpen=True'翻開通訊端口
EndWith
EndSub
PrivateSubMSComm1_OnComm()
DimEndPosAsInteger
SelectCaseMSComm1.CommEvent
CasecomEvReceive'當有數(shù)據(jù)傳送過來時
sData=sData&Trim(MSComm1.Input)
'檢索回車,通常讀卡機每組數(shù)據(jù)結(jié)尾都返回一個回車作為完畢符
EndPos=InStr(1,sData,Chr(13))
IfEndPos=0Then'如果未完畢就繼續(xù)努力
Else'讀完一組。
lblBarCode.Caption=sData'顯示一組條形碼
WithlstBarCode
.AddItemMid(sData,1,EndPos-1)'添加一組條形碼到列表
EndWith
sData=""'清空
EndIf
EndSelect
EndSub
PrivateSubcmdEnd_Click()
MSComm1.PortOpen=False'關(guān)閉端口
End
EndSub
二、條形碼的生成
看完以上關(guān)于條碼讀取的代碼是否覺得很容易呢?對,在VB上編程本來就不難。以下關(guān)于條形碼生成的代碼也是很容易理解,只需使用一個OFFICE的附帶的BarCode控件就可以輕松打印出11種不同標準的條形碼,足以滿足我們的要求。想起我書架上的一本書中的一篇用TurboC編寫條形碼打印程序文章,長篇大論,那時不知看了n天,打了n小時字結(jié)果也不盡人意,現(xiàn)在真是幸福多了:)。廢話說完,得回歸正題。且看條形碼生成的代碼及有關(guān)說明。
源代碼主要由兩個窗體〔frmMain主窗體和frmOption條碼設(shè)置窗體〕和兩個模塊組成(modGetScreen.bas、SysDLG32.bas)??紤]到篇幅,這里只列出局部較為關(guān)鍵的代碼。
新建一個標準工程,添加一個名為(MicrosoftAccessBarCodeControl9)的條形碼部件,并添加一個條碼控件到窗口,并將窗口改名為frmMain,如下圖。由于控件比擬多,這里不便細說,詳細內(nèi)容請看源代碼。
模塊modGetScreen.bas代碼如下:
OptionExplicit
聲明BitBlt、GetDesktopWindow、GetWindowDC、ReleaseDC這幾個API函數(shù)略
PublicRegUserAsBoolean
SubGetObjImage1(ObjAsObject,OwnerFormAsPictureBox,Picture1AsPictureBox)
'hDC
DimhWndDeskAsLong
DimhDCDeskAsLong
'區(qū)域表達變量
DimxAsLong
DimyAsLong
DimwAsLong
DimhAsLong
x=Obj.Left
Screen.TwipsPerPixelX
y=Obj.Top
Screen.TwipsPerPixelY
w=Obj.Width
Screen.TwipsPerPixelX
h=Obj.Height
Screen.TwipsPerPixelY
hDCDesk=OwnerForm.hdc
'取出圖像
CallBitBlt(Picture1.hdc,0,0,w,h,hDCDesk,x,y,vbSrcCopy)
CallReleaseDC(hWndDesk,hDCDesk)
EndSub
主窗體frmMain.frm局部代碼如下:
PrivateSubcmdPrint_Click()
'生成條形碼圖像
DimrAsLong,iAsInteger,tAsString,cString'臨時變量
t=BarCode
Fori=0ToVal(Times)-1
BarCode1.Value=BarCode+i
DoEvents
Picture1.Refresh
GetObjImage1BarCode1,Conel,Picture1
IfRegUser=FalseThen'如果未注冊添加MASK標記
Picture1.PaintPicturePicture2.Picture,300,300
EndIf
IfDir(SavePath,vbDirectory)=""ThenMkDirSavePath
SavePath=SavePath&IIf(Right(SavePath,1)<>"","","")
cfile=SavePath&BarCode1.Value&".bmp"
SavePicturePicture1.Image,cfile'將條形碼保存為圖像文件以便打印
Next
BarCode=t
EndSub
條形碼設(shè)置窗體frmOption.frm代碼如下:
OptionExplicit
'條形碼設(shè)置模塊
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=Check1.Value'是否顯示數(shù)據(jù)
EndSub
PrivateSubcmdChange_Click()
'設(shè)置長、寬大小
BarWidth=BarCode1.Height
BarHeight=BarCode1.Width
cmdRefresh_Click
EndSub
PrivateSubcmdOK_Click()
'傳送條形碼設(shè)定到主界面
WithfrmMain.BarCode1
.LineWeight=BarCode1.LineWeight
.Style=BarCode1.Style
.SubStyle=BarCode1.SubStyle
.Direction=BarCode1.Direction
.Width=BarCode1.Width
.Height=BarCode1.Height
.ShowData=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
許多人在編寫數(shù)據(jù)庫應(yīng)用程序時,都想要加上條形碼功能加強工作效率,尤其是銷售管理,圖書館管理這類流量大的應(yīng)用軟件,但由于條形碼技術(shù)難以掌握、標誰又多以及過去的技術(shù)種種原因,使得許多人望而卻步。本文介紹的一套簡單實用的條形碼解決方法,希望能幫助各位完善軟件系統(tǒng)的功能。相關(guān)內(nèi)容以下內(nèi)容與條形碼,條碼編程有著內(nèi)在的聯(lián)系,建議您一并閱讀。最近更新推薦閱讀讀者關(guān)注最受關(guān)注的是什么?就在下面。\o"條碼碳帶介紹"條碼碳帶介紹\o"VB條形碼編程實例"VB條形碼編程實例\o"努力工作加薪,還是工作質(zhì)量加薪,高學(xué)歷加薪"努力工作加薪,還是工作質(zhì)量加薪,高學(xué)歷加薪\o"條碼:39碼根本知識介紹"條碼:39碼根本知識介紹\o"條碼條形碼編程技術(shù)泛談"條碼條形碼編程技術(shù)泛談RSS訂閱您可以通過RSS訂閱各欄目內(nèi)容。\o"條碼新聞"條碼新聞RSS-條碼業(yè)內(nèi)新聞資訊\o"條碼知識"條碼知識RSS-條碼知識,條形碼知識\o"RFID技術(shù)應(yīng)用"RFID技術(shù)RSS-RFID技術(shù)應(yīng)用,RFID知識\o"條碼營銷"條碼營銷RSS-條碼營銷信息及經(jīng)歷友情鏈接
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 1997年注冊會計師考試試題及答案
- 2025年幼兒園墻面壁紙采購合同范本2篇
- 2025年度體育賽事贊助合作合同樣本3篇
- 2024茶葉電商平臺銷售協(xié)議范本版B版
- 2024毛石擋墻光伏支架安裝施工合同模板下載3篇
- 2024首付分期付款合同協(xié)議書范本
- 2025年度便利店品牌獨家承包合作協(xié)議書3篇
- 2025年城市綠地系統(tǒng)規(guī)劃與測繪合同范本3篇
- 2025年度建筑原材料采購合同與訂單履行約定3篇
- 2024鎳礦行業(yè)風(fēng)險評估與內(nèi)部控制合同3篇
- 智能安防監(jiān)控系統(tǒng)設(shè)計與實施計劃書
- 2024年南京市第一醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024北京海淀五年級(上)期末英語(教師版)
- 2024年民營醫(yī)院醫(yī)生與醫(yī)院合作協(xié)議
- 室內(nèi)設(shè)計CAD制圖(海南工商職業(yè)學(xué)院)知到智慧樹答案
- 2024-2025學(xué)年語文二年級上冊 部編版期末測試卷(含答案)
- 期末模擬卷 2024-2025學(xué)年人教版數(shù)學(xué)六年級上冊(含答案)
- 【高中數(shù)學(xué)課件】排列數(shù)公式的應(yīng)用
- 醫(yī)院搶救領(lǐng)導(dǎo)工作小組制度
- 2024年河南省公務(wù)員錄用考試《行測》真題及答案解析
- 2024年國家公務(wù)員考試《申論》真題(地市級)及答案解析
評論
0/150
提交評論