成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

兩步精通VB.NET條形碼編程

開發 后端
在我們的VB.NET項目中,經常會遇到涉及到條形碼編程的問題,VB.NET條形碼編程是很多程序員比較困惑的事,究竟什么是條形碼,如何在VB.NET中進行條形碼編程?本文也許會給你一個答案。

現在的商品包裝、超市收銀等很多位置都會出現條形碼,在我們的VB.NET項目中也經常會遇到涉及到VB.NET條形碼編程的工作,這里從條形碼的應用和原理出發,向大家介紹如何進行VB.NET的條形碼編程。

條形碼技術廣泛應用于各行各業,你隨便拿起一本書、一包薯片都可以在外包裝上找到,利用條碼讀取機便可將這一條條黑白相間、粗細不同的垂直線條識別而轉換為具體的數值,并將這個數值返回到計算機中進行處理。正是這樣,有了條形碼技術,人們很方便就能取得該商品的有關信息如商品名稱、規格、價格等,因為每種商品都有其對應的條形碼,這個條形碼計算機(終端、服務器)中就可以迅速返回用戶,從數據庫中讀取約定的商品,信息使得銷售、進貨、存貨等等管理更有效率,也對防止假冒偽劣又一定的抑制作用。

條碼的編碼方式有多種,不同行業,不同國家標準也不盡相同。條形碼通過線條的粗細來表達其數值。至于接口方式一般也有多種,如鍵盤口的、串行口的。一般傳感裝置是光罩式的,也有筆式的。
上面籠籠統統地談了一些關于條形碼的知識,可幫助你更好地閱讀以下更深入的內容。條形碼有關概念先說到這里,接著是詳細具體的編程實現方法。

一、VB.NET條形碼編程中的讀取

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

  1. Option Explicit  
  2. Dim sData As String 
  3. Private Sub Form_Load()  
  4. With MSComm1   
  5.    .CommPort = 3 '設為COM3,試運行的系統而定,你可提供一個Combox讓用戶選擇。  
  6.    .PortOpen = True '打開通訊端口  
  7. End With 
  8. End Sub 
  9.     
  10. Private Sub MSComm1_OnComm()  
  11.     
  12.   Dim EndPos As Integer 
  13.   Select Case MSComm1.CommEvent  
  14.     Case comEvReceive '當有數據傳送過來時  
  15.       sData = sData & Trim(MSComm1.Input)  
  16.       '檢索回車,通常讀卡機每組數據結尾都返回一個回車作為結束符  
  17.       EndPos = InStr(1, sData, Chr(13))  
  18.       If EndPos = 0 Then '如果未結束就繼續努力  
  19.       Else '讀完一組。  
  20.         lblBarCode.Caption = sData '顯示一組條形碼  
  21.         With lstBarCode  
  22.           .AddItem Mid(sData, 1, EndPos - 1) '添加一組條形碼到列表  
  23.         End With 
  24.         sData = "" '清空  
  25.       End If 
  26.   End Select 
  27. End Sub 
  28.  
  29.        
  30. Private Sub cmdEnd_Click()  
  31.   MSComm1.PortOpen = False '關閉端口  
  32.   End 
  33. End Sub 

二、VB.NET條形碼編程中的生成

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

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

新建一個標準工程,添加一個名為(Microsoft Access BarCode Control9)的條形碼部件,并添加一個條碼控件到窗口,并將窗口改名為frmMain,如圖所示。由于控件比較多,這里不便細說,詳細內容請看源代碼。

模塊modGetScreen.bas代碼如下:

Option Explicit

聲明BitBlt、GetDesktopWindow、GetWindowDC、ReleaseDC這幾個API函數略

  1. Public RegUser As Boolean    
  2. Sub GetObjImage1(Obj As Object, OwnerForm As PictureBox, Picture1 As PictureBox)  
  3.   'hDC  
  4.   Dim hWndDesk As Long 
  5.   Dim hDCDesk As Long 
  6.   '區域表達變量  
  7.   Dim x As Long 
  8.   Dim y As Long 
  9.   Dim w As Long 
  10.   Dim h As Long 
  11.        
  12.   x = Obj.Left  Screen.TwipsPerPixelX  
  13.   y = Obj.Top  Screen.TwipsPerPixelY  
  14.   w = Obj.Width  Screen.TwipsPerPixelX  
  15.   h = Obj.Height  Screen.TwipsPerPixelY  
  16.   hDCDesk = OwnerForm.hdc  
  17.   '取出圖像  
  18.   Call BitBlt(Picture1.hdc, 0, 0, w, h, hDCDesk, x, y, vbSrcCopy)  
  19.   Call ReleaseDC(hWndDesk, hDCDesk)  
  20.        
  21. End Sub 

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

  1. Private Sub cmdPrint_Click()  
  2. '生成條形碼圖像  
  3.   Dim r As Long, i As Integer, t As String,cfile As String '臨時變量  
  4.   t = BarCode  
  5.   For i = 0 To Val(Times) - 1  
  6.       
  7.     BarCode1.Value = BarCode + i  
  8.     DoEvents   
  9.     Picture1.Refresh  
  10.      
  11.     GetObjImage1 BarCode1, Conel, Picture1  
  12.       
  13.     If RegUser = False Then '如果未注冊添加MASK標記  
  14.       Picture1.PaintPicture Picture2.Picture, 300, 300  
  15.     End If 
  16.       
  17.     If Dir(SavePath, vbDirectory) = "" Then MkDir SavePath  
  18.       
  19.     SavePath = SavePath & IIf(Right(SavePath, 1) <> """""")  
  20.       
  21.     cfile = SavePath & BarCode1.Value & ".bmp" 
  22.  
  23.     SavePicture Picture1.Image, cfile '將條形碼保存為圖像文件以便打印  
  24.   Next 
  25.   BarCode = t  
  26.        
  27. End Sub 

條形碼設置窗體frmOption.frm代碼如下:

Option Explicit

'條形碼設置模塊

  1. Private Sub cboBig_Click()  
  2.   BarCode1.Style = cboBig.ListIndex '改變標準  
  3. End Sub 
  4.  
  5.        
  6. Private Sub cboDirection_Click()  
  7.   BarCode1.Direction = cboDirection.ListIndex '改變方向  
  8. End Sub 
  9.  
  10.        
  11. Private Sub cboLine_Click()  
  12.   BarCode1.LineWeight = cboLine.ListIndex '改變線寬  
  13. End Sub 
  14.  
  15.        
  16. Private Sub cboSmall_Click()  
  17.   BarCode1.SubStyle = cboSmall.ListIndex '改變樣式  
  18. End Sub 
  19.  
  20.        
  21. Private Sub Check1_Click()  
  22.   BarCode1.ShowData = Check1.Value '是否顯示數據  
  23. End Sub 
  24.  
  25.        
  26. Private Sub cmdChange_Click()  
  27. '設置長、寬大小  
  28. BarWidth = BarCode1.Height  
  29. BarHeight = BarCode1.Width  
  30. cmdRefresh_Click  
  31. End Sub 
  32.  
  33.        
  34. Private Sub cmdOK_Click()  
  35. '傳送條形碼設定到主界面  
  36.   With frmMain.BarCode1  
  37.     .LineWeight = BarCode1.LineWeight  
  38.     .Style = BarCode1.Style  
  39.     .SubStyle = BarCode1.SubStyle  
  40.     .Direction = BarCode1.Direction  
  41.     .Width = BarCode1.Width  
  42.     .Height = BarCode1.Height  
  43.     .ShowData = BarCode1.ShowData  
  44.     Me.Hide  
  45.   End With 
  46.   With frmMain  
  47.     .Picture1.Width = .BarCode1.Width  
  48.     .Picture1.Height = .BarCode1.Height  
  49.     .Conel.Width = .BarCode1.Width  
  50.     .Conel.Height = .BarCode1.Height  
  51.   End With 
  52. End Sub 
  53.  
  54.        
  55. Private Sub cmdRefresh_Click()  
  56.   BarCode1.Width = BarWidth  
  57.   BarCode1.Height = BarHeight  
  58. End Sub 
  59.  
  60.        
  61. Private Sub Form_Load()  
  62. LoadBarInfo  
  63. BarWidth = BarCode1.Width  
  64. BarHeight = BarCode1.Height  
  65. End Sub 
  66.  
  67.        
  68. Sub LoadBarInfo() '初始化選項  
  69. LoadBigClass cboBig  
  70. LoadSmallClass cboSmall  
  71. LoadLineSize cboLine  
  72. LoadDirection cboDirection  
  73. End Sub 
  74. Sub LoadBigClass(cbo As ComboBox) '條碼標準  
  75.   With cbo  
  76.     .AddItem "UPC-A" 
  77.     .AddItem "UPC-E" 
  78.     .AddItem "EAN-13" 
  79.     .AddItem "EAN-8" 
  80.     .AddItem "Case Code" 
  81.     .AddItem "Codabar (NW-T)" 
  82.     .AddItem "Code-39" 
  83.     .AddItem "Code-128" 
  84.     .AddItem "U.S. Postnet" 
  85.     .AddItem "U.S. Postal FIM" 
  86.     .AddItem "JP Post" 
  87.     .ListIndex = 2  
  88.   End With 
  89. End Sub 
  90. Sub LoadSmallClass(cbo As ComboBox) '條碼樣式  
  91.   With cbo  
  92.     .AddItem "Standard" 
  93.     .AddItem "2-Digit Supplement" 
  94.     .AddItem "5-Digit Supplement" 
  95.     .AddItem "POS Case Code" 
  96.     .ListIndex = 0  
  97.   End With 
  98.  
  99. End Sub 

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

 

【編輯推薦】

  1. 淺談VB.NET語言與.NET開發語言關系
  2. 淺析VB.NET語言到底帶來了什么
  3. 講解VB.NET語言學習經驗
  4. 簡單講述VB.NET多重繼承
  5. VB.NET調用Window API經驗總結
責任編輯:佚名 來源: IT傳媒網
相關推薦

2009-11-03 13:02:28

VB.NET Wind

2009-10-20 09:42:16

VB.NET編程

2009-10-21 16:40:43

Oracle用戶表空間

2009-10-23 17:03:18

VB.NET事件編程

2009-10-28 15:38:30

VB.NET網絡

2011-07-07 16:53:56

iOS 條形碼掃描

2009-11-10 13:08:13

VB.NET編程技巧

2010-01-14 17:11:17

VB.NET枚舉

2009-11-02 15:08:58

VB.NET Obje

2009-10-14 15:34:29

VB.NET窗體編程模

2009-11-02 15:16:07

VB.NET編程

2024-09-30 10:18:51

2012-06-14 13:09:50

PHP

2009-10-29 11:41:27

VB.NET寫Obje

2009-10-30 13:12:40

VB.NET創建類

2009-11-02 14:55:52

VB.NET Obje

2009-11-10 15:30:46

VB.NET編程原則

2015-10-28 13:33:50

二維碼條形碼掃描源碼

2023-08-15 19:24:37

Python條形碼

2009-10-21 09:46:13

VB使用ArrayLi
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区二区三区高清 | 伊人久久在线观看 | 精品在线一区二区三区 | 久久久久网站 | 天天干天天爱天天 | 精品国产91乱码一区二区三区 | 黄色在线免费看 | 国内精品久久久久 | 懂色av蜜桃av | 一区二区三区久久 | 天天夜干 | 国产福利在线播放麻豆 | av永久免费 | 久久久免费电影 | 国产精品久久网 | 亚洲一区 | 日本黄色的视频 | 亚州综合一区 | 成人视屏在线观看 | 久久久久久国产精品 | 日日夜夜免费精品视频 | 亚洲综合三区 | 日本精品在线播放 | 一区中文字幕 | 99在线资源 | 日韩中文字幕一区 | 亚洲二区视频 | 一区二区三区亚洲 | 亚洲免费人成在线视频观看 | 中文字幕11页 | 国色天香综合网 | a级在线 | 日本三级网站在线 | 日韩一区二区三区在线视频 | 久久99精品久久久久久国产越南 | 国产在线播放一区二区三区 | 激情一区二区三区 | 久草视频在线播放 | 日韩一级精品视频在线观看 | 久久精品黄色 | 在线视频h |