真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net生成條碼 vb條碼控件

如何在vb.net 中錄入條形碼字符,謝謝

93條碼和CODE39一樣,起始符和結(jié)束符都是*號,你做的條碼掃描不出來的原因,估計(jì)和校驗(yàn)碼有關(guān)。93條碼規(guī)定在數(shù)據(jù)的最后有兩個校驗(yàn)位C和K,如果你的數(shù)據(jù)里沒有生成這兩個校驗(yàn)位,那肯定是無法掃描的。

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供撫順網(wǎng)站建設(shè)、撫順做網(wǎng)站、撫順網(wǎng)站設(shè)計(jì)、撫順網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、撫順企業(yè)網(wǎng)站模板建站服務(wù),十多年撫順做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

vb.netqrcode尺寸大小

21×21mm。vb.netqrcode表示二維碼的版本號,生成二維碼尺寸大小為21×21mm。二維碼又稱二維條碼,常見的二維碼為QRCode,QR全稱QuickResponse,是一種編碼方式。

VB 識別條形碼

一、條形碼的讀取

用過鍵盤口式的掃條碼工具的朋友就知道,它就如同在鍵盤上按下數(shù)字鍵一樣,基本不需任何編程和處理。但如果你使用的是其它接口的話,可能你就要為該設(shè)備編寫通訊代碼了。以下有一段簡單的25針串口的條碼讀取器通訊代碼。

Option Explicit

Dim sData As String

Private Sub Form_Load()

With MSComm1

.CommPort = 3 '設(shè)為COM3,試運(yùn)行的系統(tǒng)而定,你可提供一個Combox讓用戶選擇。

.PortOpen = True '打開通訊端口

End With

End Sub

Private Sub MSComm1_OnComm()

Dim EndPos As Integer

Select Case MSComm1.CommEvent

Case comEvReceive '當(dāng)有數(shù)據(jù)傳送過來時

sData = sData Trim(MSComm1.Input)

'檢索回車,通常讀卡機(jī)每組數(shù)據(jù)結(jié)尾都返回一個回車作為結(jié)束符

EndPos = InStr(1, sData, Chr(13))

If EndPos = 0 Then '如果未結(jié)束就繼續(xù)努力

Else '讀完一組。

lblBarCode.Caption = sData '顯示一組條形碼

With lstBarCode

.AddItem Mid(sData, 1, EndPos - 1) '添加一組條形碼到列表

End With

sData = "" '清空

End If

End Select

End Sub

Private Sub cmdEnd_Click()

MSComm1.PortOpen = False '關(guān)閉端口

End

End Sub

二:條形碼的生成

在VB上編程本來就不難。以下關(guān)于條形碼生成的代碼也是很容易理解,只需使用一個OFFICE的附帶的 BarCode控件就可以輕松打印出11種不同標(biāo)準(zhǔn)的條形碼,足以滿足我們的要求。想起我書架上的一本書中的一篇用Turbo C編寫條形碼打印程序文章,長篇大論,那時不知看了n天,打了n小時字結(jié)果也不盡人意,現(xiàn)在真是幸福多了:)。廢話說完,得回歸正題。且看條形碼生成的代碼及有關(guān)說明。

源代碼主要由兩個窗體(frmMain主窗體和frmOption條碼設(shè)置窗體)和兩個模塊組成(modGetScreen.bas、SysDLG32.bas)。考慮到篇幅,這里只列出部分較為關(guān)鍵的代碼。

新建一個標(biāo)準(zhǔn)工程,添加一個名為(Microsoft Access BarCode

Control9)的條形碼部件,并添加一個條碼控件到窗口,并將窗口改名為frmMain,如圖所示。由于控件比較多,這里不便細(xì)說,詳細(xì)內(nèi)容請看源代碼。

模塊modGetScreen.bas代碼如下:

Option Explicit

聲明BitBlt、GetDesktopWindow、GetWindowDC、ReleaseDC這幾個API函數(shù)略

Public RegUser As Boolean

Sub GetObjImage1(Obj As Object, OwnerForm As PictureBox, Picture1

As PictureBox)

'hDC

Dim hWndDesk As Long

Dim hDCDesk As Long

'區(qū)域表達(dá)變量

Dim x As Long

Dim y As Long

Dim w As Long

Dim h As Long

x = Obj.Left Screen.TwipsPerPixelX

y = Obj.Top Screen.TwipsPerPixelY

w = Obj.Width Screen.TwipsPerPixelX

h = Obj.Height Screen.TwipsPerPixelY

hDCDesk = OwnerForm.hdc

'取出圖像

Call BitBlt(Picture1.hdc, 0, 0, w, h, hDCDesk, x, y,

vbSrcCopy)

Call ReleaseDC(hWndDesk, hDCDesk)

End Sub

主窗體frmMain.frm部分代碼如下:

Private Sub cmdPrint_Click()

'生成條形碼圖像

Dim r As Long, i As Integer, t As String,cfile As

String '臨時變量

t = BarCode

For i = 0 To Val(Times) - 1

BarCode1.Value = BarCode + i

DoEvents

Picture1.Refresh

GetObjImage1 BarCode1, Conel, Picture1

If RegUser = False Then '如果未注冊添加MASK標(biāo)記

Picture1.PaintPicture Picture2.Picture, 300, 300

End If

If Dir(SavePath, vbDirectory) = "" Then MkDir SavePath

SavePath = SavePath IIf(Right(SavePath, 1) "", "",

"")

cfile = SavePath BarCode1.Value ".bmp"

SavePicture Picture1.Image, cfile '將條形碼保存為圖像文件以便打印

Next

BarCode = t

End Sub

條形碼設(shè)置窗體frmOption.frm代碼如下:

Option Explicit

'條形碼設(shè)置模塊

Private Sub cboBig_Click()

BarCode1.Style = cboBig.ListIndex '改變標(biāo)準(zhǔn)

End Sub

Private Sub cboDirection_Click()

BarCode1.Direction = cboDirection.ListIndex '改變方向

End Sub

Private Sub cboLine_Click()

BarCode1.LineWeight = cboLine.ListIndex '改變線寬

End Sub

Private Sub cboSmall_Click()

BarCode1.SubStyle = cboSmall.ListIndex '改變樣式

End Sub

Private Sub Check1_Click()

BarCode1.ShowData = Check1.Value '是否顯示數(shù)據(jù)

End Sub

Private Sub cmdChange_Click()

'設(shè)置長、寬大小

BarWidth = BarCode1.Height

BarHeight = BarCode1.Width

cmdRefresh_Click

End Sub

Private Sub cmdOK_Click()

'傳送條形碼設(shè)定到主界面

With frmMain.BarCode1

.LineWeight = BarCode1.LineWeight

.Style = BarCode1.Style

.SubStyle = BarCode1.SubStyle

.Direction = BarCode1.Direction

.Width = BarCode1.Width

.Height = BarCode1.Height

.ShowData = BarCode1.ShowData

Me.Hide

End With

With frmMain

.Picture1.Width = .BarCode1.Width

.Picture1.Height = .BarCode1.Height

.Conel.Width = .BarCode1.Width

.Conel.Height = .BarCode1.Height

End With

End Sub

Private Sub cmdRefresh_Click()

BarCode1.Width = BarWidth

BarCode1.Height = BarHeight

End Sub

Private Sub Form_Load()

LoadBarInfo

BarWidth = BarCode1.Width

BarHeight = BarCode1.Height

End Sub

Sub LoadBarInfo() '初始化選項(xiàng)

LoadBigClass cboBig

LoadSmallClass cboSmall

LoadLineSize cboLine

LoadDirection cboDirection

End Sub

Sub LoadBigClass(cbo As ComboBox) '條碼標(biāo)準(zhǔn)

With cbo

.AddItem "UPC-A"

.AddItem "UPC-E"

.AddItem "EAN-13"

.AddItem "EAN-8"

.AddItem "Case Code"

.AddItem "Codabar (NW-T)"

.AddItem "Code-39"

.AddItem "Code-128"

.AddItem "U.S. Postnet"

.AddItem "U.S. Postal FIM"

.AddItem "JP Post"

.ListIndex = 2

End With

End Sub

Sub LoadSmallClass(cbo As ComboBox) '條碼樣式

With cbo

.AddItem "Standard"

.AddItem "2-Digit Supplement"

.AddItem "5-Digit Supplement"

.AddItem "POS Case Code"

.ListIndex = 0

End With

End Sub

許多人在編寫數(shù)據(jù)庫應(yīng)用程序時,都想要加上條形碼功能加強(qiáng)工作效率,尤其是銷售管理,圖書館管理這類流量大的應(yīng)用軟件,但由于條形碼技術(shù)難以掌握、標(biāo)誰又多以及過去的技術(shù)種種原因,使得許多人望而卻步。本文介紹的一套簡單實(shí)用的條形碼解決方法,希望能幫助各位完善軟件系統(tǒng)的功能。

條形碼怎么編寫

條形碼技術(shù)應(yīng)用廣泛于各行各業(yè),你隨便拿起一本書、一包方便面都可以在外包裝上找到條碼,利用條碼讀取機(jī)便可將這一條條黑白相間、粗細(xì)不同的垂直線條識別而轉(zhuǎn)換為具體的數(shù)值,并將這個數(shù)值返回到計(jì)算機(jī)中進(jìn)行處理。

正是有了條形碼技術(shù),人們很方便就能取得該商品的相關(guān)信息,如商品規(guī)格、名稱、價格等,因?yàn)槊糠N商品都有其對應(yīng)的條形碼。通過條形碼,計(jì)算機(jī)(終端、服務(wù)器)就可以迅速返回用戶,從數(shù)據(jù)庫中讀取約定的商品、信息使得進(jìn)貨、銷售、存貨等等管理更有效率,也對防止假冒偽劣有一定的抑制作用。

條碼的編碼方式有多種,不同行業(yè),不同國家,標(biāo)準(zhǔn)也不盡相同。條形碼通過線條的粗細(xì)來表達(dá)其數(shù)值。至于接口方式一般也有多種,如鍵盤口的、串行口的。一般傳感裝置是光罩式的,也有筆式的。 上面籠籠統(tǒng)統(tǒng)地談了一些關(guān)于條形碼的知識,可幫助你更好地閱讀以下更深入的內(nèi)容。條形碼有關(guān)概念先說到這里,接著是詳細(xì)具體的編程實(shí)現(xiàn)方法。

一、條形碼的讀取

用過鍵盤口式的掃條碼工具的朋友就知道,它就如同在鍵盤上按下數(shù)字鍵一樣,基本不需任何編程和處理。但如果你使用的是其它接口的話,可能你就要為該設(shè)備編寫通訊代碼了。以下有一段簡單的25針串口的條碼讀取器通訊代碼。

Option Explicit

Dim sData As String

Private Sub Form_Load()

With MSComm1

.CommPort = 3 '設(shè)為COM3,試運(yùn)行的系統(tǒng)而定,你可提供一個Combox讓用戶選擇。

.PortOpen = True '打開通訊端口

End With

End Sub

Private Sub MSComm1_OnComm()

Dim EndPos As Integer

Select Case MSComm1.CommEvent

Case comEvReceive '當(dāng)有數(shù)據(jù)傳送過來時

sData = sData Trim(MSComm1.Input)

'檢索回車,通常讀卡機(jī)每組數(shù)據(jù)結(jié)尾都返回一個回車作為結(jié)束符

EndPos = InStr(1, sData, Chr(13))

If EndPos = 0 Then '如果未結(jié)束就繼續(xù)努力

Else '讀完一組。

lblBarCode.Caption = sData '顯示一組條形碼

With lstBarCode

.AddItem Mid(sData, 1, EndPos - 1) '添加一組條形碼到列表

End With

sData = "" '清空

End If

End Select

End Sub

Private Sub cmdEnd_Click()

MSComm1.PortOpen = False '關(guān)閉端口

End

End Sub

二、條形碼的生成

看完以上關(guān)于條碼讀取的代碼是否覺得很容易呢?對,在VB上編程本來就不難。以下關(guān)于條形碼生成的代碼也是很容易理解,只需使用一個OFFICE的附帶的BarCode控件就可以輕松打印出11種不同標(biāo)準(zhǔn)的條形碼,足以滿足我們的要求。

想起我書架上的一本書中的一篇用Turbo C編寫條形碼打印程序文章,長篇大論,那時不知看了n天,打了n小時字結(jié)果也不盡人意,現(xiàn)在真是幸福多了:)。廢話說完,得回歸正題。且看條形碼生成的代碼及有關(guān)說明。

源代碼主要由兩個窗體(frmMain主窗體和frmOption條碼設(shè)置窗體)和兩個模塊組成(modGetScreen.bas、SysDLG32.bas)??紤]到篇幅,這里只列出部分較為關(guān)鍵的代碼。

新建一個標(biāo)準(zhǔn)工程,添加一個名為(Microsoft Access BarCode Control9)的條形碼部件,并添加一個條碼控件到窗口,并將窗口改名為frmMain。由于控件比較多,這里不便細(xì)說,詳細(xì)內(nèi)容請看源代碼。

模塊modGetScreen.bas代碼如下:

Option Explicit

聲明BitBlt、GetDesktopWindow、GetWindowDC、ReleaseDC這幾個API函數(shù)略

Public RegUser As Boolean

Sub GetObjImage1(Obj As Object, OwnerForm As PictureBox, Picture1 As PictureBox)

'hDC

Dim hWndDesk As Long

Dim hDCDesk As Long

'區(qū)域表達(dá)變量

Dim x As Long

Dim y As Long

Dim w As Long

Dim h As Long

x = Obj.Left Screen.TwipsPerPixelX

y = Obj.Top Screen.TwipsPerPixelY

w = Obj.Width Screen.TwipsPerPixelX

h = Obj.Height Screen.TwipsPerPixelY

hDCDesk = OwnerForm.hdc

'取出圖像

Call BitBlt(Picture1.hdc, 0, 0, w, h, hDCDesk, x, y, vbSrcCopy)

Call ReleaseDC(hWndDesk, hDCDesk)

End Sub

主窗體frmMain.frm部分代碼如下:

Private Sub cmdPrint_Click()

'生成條形碼圖像

Dim r As Long, i As Integer, t As String,cfile As String '臨時變量

t = BarCode

For i = 0 To Val(Times) - 1

BarCode1.Value = BarCode + i

DoEvents

Picture1.Refresh

GetObjImage1 BarCode1, Conel, Picture1

If RegUser = False Then '如果未注冊添加MASK標(biāo)記

Picture1.PaintPicture Picture2.Picture, 300, 300

End If

If Dir(SavePath, vbDirectory) = "" Then MkDir SavePath

SavePath = SavePath IIf(Right(SavePath, 1) "", "", "")

cfile = SavePath BarCode1.Value ".bmp"

SavePicture Picture1.Image, cfile '將條形碼保存為圖像文件以便打印

Next

BarCode = t

End Sub

條形碼設(shè)置窗體frmOption.frm代碼如下:

Option Explicit

'條形碼設(shè)置模塊

Private Sub cboBig_Click()

BarCode1.Style = cboBig.ListIndex '改變標(biāo)準(zhǔn)

End Sub

Private Sub cboDirection_Click()

BarCode1.Direction = cboDirection.ListIndex '改變方向

End Sub

Private Sub cboLine_Click()

BarCode1.LineWeight = cboLine.ListIndex '改變線寬

End Sub

Private Sub cboSmall_Click()

BarCode1.SubStyle = cboSmall.ListIndex '改變樣式

End Sub

Private Sub Check1_Click()

BarCode1.ShowData = Check1.Value '是否顯示數(shù)據(jù)

End Sub

Private Sub cmdChange_Click()

'設(shè)置長、寬大小

BarWidth = BarCode1.Height

BarHeight = BarCode1.Width

cmdRefresh_Click

End Sub

Private Sub cmdOK_Click()

'傳送條形碼設(shè)定到主界面

With frmMain.BarCode1

.LineWeight = BarCode1.LineWeight

.Style = BarCode1.Style

.SubStyle = BarCode1.SubStyle

.Direction = BarCode1.Direction

.Width = BarCode1.Width

.Height = BarCode1.Height

.ShowData = BarCode1.ShowData

Me.Hide

End With

With frmMain

.Picture1.Width = .BarCode1.Width

.Picture1.Height = .BarCode1.Height

.Conel.Width = .BarCode1.Width

.Conel.Height = .BarCode1.Height

End With

End Sub

Private Sub cmdRefresh_Click()

BarCode1.Width = BarWidth

BarCode1.Height = BarHeight

End Sub

Private Sub Form_Load()

LoadBarInfo

BarWidth = BarCode1.Width

BarHeight = BarCode1.Height

End Sub

Sub LoadBarInfo() '初始化選項(xiàng)

LoadBigClass cboBig

LoadSmallClass cboSmall

LoadLineSize cboLine

LoadDirection cboDirection

End Sub

Sub LoadBigClass(cbo As ComboBox) '條碼標(biāo)準(zhǔn)

With cbo

.AddItem "UPC-A"

.AddItem "UPC-E"

.AddItem "EAN-13"

.AddItem "EAN-8"

.AddItem "Case Code"

.AddItem "Codabar (NW-T)"

.AddItem "Code-39"

.AddItem "Code-128"

.AddItem "U.S. Postnet"

.AddItem "U.S. Postal FIM"

.AddItem "JP Post"

.ListIndex = 2

End With

End Sub

Sub LoadSmallClass(cbo As ComboBox) '條碼樣式

With cbo

.AddItem "Standard"

.AddItem "2-Digit Supplement"

.AddItem "5-Digit Supplement"

.AddItem "POS Case Code"

.ListIndex = 0

End With

End Sub

VB.net如何在水晶報(bào)表上打印條碼

很簡單。只需要安裝Code39字體,或者加載到系統(tǒng)中就可以。

報(bào)表設(shè)置該字體自然就表示成條形碼了。

Code39字體從網(wǎng)上搜索能搜索到。

vb.net條碼打印控件

工具箱,然后隨便選擇一項(xiàng),右鍵 選擇項(xiàng),在.com控件里,microsoft bar ctrol 9.0


網(wǎng)頁題目:vb.net生成條碼 vb條碼控件
URL標(biāo)題:http://weahome.cn/article/docphso.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部