vb.net2003实现条形码显示扫描不出来,高手指点
文本控件 显示字符串 picturebox控件 显示条形码
程序 PrintCodeB(lcoilno.Text, e, Color.Black)
lcoilno.Text文本控件 ‘47A123456789’
code128.vb 中代码111111111111111111111111111
Public fimage As New Bitmap(160, 32)
Public flagGraphics As Graphics = Graphics.FromImage(fimage)
Dim printForm As New FrmLabelNew
Sub New()
CodeDef(0) = (New CodeByte("SP", "SP", "00", "11011001100"))
CodeDef(1) = (New CodeByte("!", "!", "01", "11001101100"))
CodeDef(2) = (New CodeByte("""", """", "02", "11001100110"))
CodeDef(3) = (New CodeByte("#", "#", "03", "10010011000"))
CodeDef(4) = (New CodeByte("$", "$", "04", "10010001100"))
CodeDef(5) = (New CodeByte("%", "%", "05", "10001001100"))
CodeDef(6) = (New CodeByte("&", "&", "06", "10011001000"))
CodeDef(7) = (New CodeByte("'", "'", "07", "10011000100"))
CodeDef(8) = (New CodeByte("(", "(", "08", "10001100100"))
CodeDef(9) = (New CodeByte(")", ")", "09", "11001001000"))
CodeDef(10) = (New CodeByte("*", "*", "10", "11001000100"))
CodeDef(11) = (New CodeByte("+", "+", "11", "11000100100"))
CodeDef(12) = (New CodeByte(",", ",", "12", "10110011100"))
CodeDef(13) = (New CodeByte("-", "-", "13", "10011011100"))
CodeDef(14) = (New CodeByte(".", ".", "14", "10011001110"))
CodeDef(15) = (New CodeByte("/", "/", "15", "10111001100"))
CodeDef(16) = (New CodeByte("0", "0", "16", "10011101100"))
CodeDef(17) = (New CodeByte("1", "1", "17", "10011100110"))
CodeDef(18) = (New CodeByte("2", "2", "18", "11001110010"))
CodeDef(19) = (New CodeByte("3", "3", "19", "11001011100"))
CodeDef(20) = (New CodeByte("4", "4", "20", "11001001110"))
CodeDef(21) = (New CodeByte("5", "5", "21", "11011100100"))
CodeDef(22) = (New CodeByte("6", "6", "22", "11001110100"))
CodeDef(23) = (New CodeByte("7", "7", "23", "11101101110"))
CodeDef(24) = (New CodeByte("8", "8", "24", "11101001100"))
CodeDef(25) = (New CodeByte("9", "9", "25", "11100101100"))
CodeDef(26) = (New CodeByte(":", ":", "26", "11100100110"))
CodeDef(27) = (New CodeByte(";", ";", "27", "11101100100"))
CodeDef(28) = (New CodeByte("<", "<", "28", "11100110100"))
CodeDef(29) = (New CodeByte("=", "=", "29", "11100110010"))
CodeDef(30) = (New CodeByte(">", ">", "30", "11011011000"))
CodeDef(31) = (New CodeByte("?", "?", "31", "11011000110"))
CodeDef(32) = (New CodeByte("@", "@", "32", "11000110110"))
CodeDef(33) = (New CodeByte("A", "A", "33", "10100011000"))
CodeDef(34) = (New CodeByte("B", "B", "34", "10001011000"))
CodeDef(35) = (New CodeByte("C", "C", "35", "10001000110"))
CodeDef(36) = (New CodeByte("D", "D", "36", "10110001000"))
CodeDef(37) = (New CodeByte("E", "E", "37", "10001101000"))
CodeDef(38) = (New CodeByte("F", "F", "38", "10001100010"))
CodeDef(39) = (New CodeByte("G", "G", "39", "11010001000"))
CodeDef(40) = (New CodeByte("H", "H", "40", "11000101000"))
CodeDef(41) = (New CodeByte("I", "I", "41", "11000100010"))
CodeDef(42) = (New CodeByte("J", "J", "42", "10110111000"))
CodeDef(43) = (New CodeByte("K", "K", "43", "10110001110"))
CodeDef(44) = (New CodeByte("L", "L", "44", "10001101110"))
CodeDef(45) = (New CodeByte("M", "M", "45", "10111011000"))
CodeDef(46) = (New CodeByte("N", "N", "46", "10111000110"))
CodeDef(47) = (New CodeByte("O", "O", "47", "10001110110"))
CodeDef(48) = (New CodeByte("P", "P", "48", "11101110110"))
CodeDef(49) = (New CodeByte("Q", "Q", "49", "11010001110"))
CodeDef(50) = (New CodeByte("R", "R", "50", "11000101110"))
CodeDef(51) = (New CodeByte("S", "S", "51", "11011101000"))
CodeDef(52) = (New CodeByte("T", "T", "52", "11011100010"))
CodeDef(53) = (New CodeByte("U", "U", "53", "11011101110"))
CodeDef(54) = (New CodeByte("V", "V", "54", "11101011000"))
CodeDef(55) = (New CodeByte("W", "W", "55", "11101000110"))
CodeDef(56) = (New CodeByte("X", "X", "56", "11100010110"))
CodeDef(57) = (New CodeByte("Y", "Y", "57", "11101101000"))
CodeDef(58) = (New CodeByte("Z", "Z", "58", "11101100010"))
CodeDef(59) = (New CodeByte("[", "[", "59", "11100011010"))
CodeDef(60) = (New CodeByte("\", "\", "60", "11101111010"))
CodeDef(61) = (New CodeByte("]", "]", "61", "11001000010"))
CodeDef(62) = (New CodeByte("^", "^", "62", "11110001010"))
CodeDef(63) = (New CodeByte("_", "_", "63", "10100110000"))
CodeDef(64) = (New CodeByte("NUL", "`", "64", "10100001100"))
CodeDef(65) = (New CodeByte("SOH", "a", "65", "10010110000"))
CodeDef(66) = (New CodeByte("STX", "b", "66", "10010000110"))
CodeDef(67) = (New CodeByte("ETX", "c", "67", "10000101100"))
CodeDef(68) = (New CodeByte("EOT", "d", "68", "10000100110"))
CodeDef(69) = (New CodeByte("ENQ", "e", "69", "10110010000"))
CodeDef(70) = (New CodeByte("ACK", "f", "70", "10110000100"))
CodeDef(71) = (New CodeByte("BEL", "g", "71", "10011010000"))
CodeDef(72) = (New CodeByte("BS", "h", "72", "10011000010"))
CodeDef(73) = (New CodeByte("HT", "I", "73", "10000110100"))
CodeDef(74) = (New CodeByte("LF", "j", "74", "10000110010"))
CodeDef(75) = (New CodeByte("VT", "k", "75", "11000010010"))
CodeDef(76) = (New CodeByte("FF", "l", "76", "11001010000"))
CodeDef(76) = (New CodeByte("FF", "l", "76", "11001010000"))
CodeDef(77) = (New CodeByte("CR", "m", "77", "11110111010"))
CodeDef(78) = (New CodeByte("SO", "n", "78", "11000010100"))
CodeDef(79) = (New CodeByte("SI", "o", "79", "10001111010"))
CodeDef(80) = (New CodeByte("DLE", "p", "80", "10100111100"))
CodeDef(81) = (New CodeByte("DC1", "q", "81", "10010111100"))
CodeDef(82) = (New CodeByte("DC2", "r", "82", "10010011110"))
CodeDef(83) = (New CodeByte("DC3", "s", "83", "10111100100"))
CodeDef(84) = (New CodeByte("DC4", "t", "84", "10011110100"))
CodeDef(85) = (New CodeByte("NAK", "u", "85", "10011110010"))
CodeDef(86) = (New CodeByte("SYN", "v", "86", "11110100100"))
CodeDef(87) = (New CodeByte("ETB", "w", "87", "11110010100"))
CodeDef(88) = (New CodeByte("CAN", "x", "88", "11110010010"))
CodeDef(89) = (New CodeByte("EM", "y", "89", "11011011110"))
CodeDef(90) = (New CodeByte("SUB", "z", "90", "11011110110"))
CodeDef(91) = (New CodeByte("ESC", "{", "91", "11110110110"))
CodeDef(92) = (New CodeByte("FS", "|", "92", "10101111000"))
CodeDef(93) = (New CodeByte("GS", "}", "93", "10100011110"))
CodeDef(94) = (New CodeByte("RS", "~", "94", "10001011110"))
CodeDef(95) = (New CodeByte("US", "DEL", "95", "10111101000"))
CodeDef(96) = (New CodeByte("FNC3", "FNC3", "96", "10111100010"))
CodeDef(97) = (New CodeByte("FNC2", "FNC2", "97", "11110101000"))
CodeDef(98) = (New CodeByte("SHIFT", "SHIFT", "98", "11110100010"))
CodeDef(99) = (New CodeByte("CodeC", "CodeC", "99", "10111011110"))
CodeDef(100) = (New CodeByte("CodeB", "FNC4", "CodeB", "10111101110"))
CodeDef(101) = (New CodeByte("FNC4", "CodeA", "CodeA", "11101011110"))
CodeDef(102) = (New CodeByte("FNC1", "FNC1", "FNC1", "11110101110"))
CodeDef(103) = (New CodeByte("STARTA", "STARTA", "STARTA", "11010000100"))
CodeDef(104) = (New CodeByte("STARTB", "STARTB", "STARTB", "11010010000"))
CodeDef(105) = (New CodeByte("STARTC", "STARTC", "STARTC", "11010011100"))
CodeDef(106) = (New CodeByte("STOP", "STOP", "STOP", "1100011101011"))
End Sub
Private CodeDef(106) As CodeByte
Private Class CodeByte
Public CodeA As String, CodeB As String, CodeC As String, Data As String
Sub New(ByVal CodeA As String, ByVal CodeB As String, ByVal CodeC As String, ByVal Data As String)
Me.CodeA = CodeA : Me.CodeB = CodeB : Me.CodeC = CodeC : Me.Data = Data
End Sub
End Class
Private Function GetDateB(ByRef FindChar As String) As Integer
Dim i As Integer
For i = 0 To 102
If CodeDef(i).CodeB = FindChar Then FindChar = CodeDef(i).Data : Return i
Next
FindChar = "" : Return -1
End Function
Public Sub PrintCodeB(ByVal Data As String, ByVal e As System.Windows.Forms.PaintEventArgs, ByVal Color As Drawing.Color)
Dim CodeData As String = CodeDef(104).Data, i As Integer = 0, id As Integer = 0, Calibration As Integer = 104 '"STARTB"的ID
'Dim c As String in Date
For Each c1 As String In Data
id = GetDateB(c1)
If id >= 0 Then
CodeData &= c1
i += 1
Calibration += i * id
End If
Next
CodeData &= CodeDef(Calibration Mod 103).Data & CodeDef(106).Data
i = 0
Dim w As Single = (e.ClipRectangle.Width) / CodeData.Length
Dim c As Char
For Each c In CodeData
If c = "1" Then flagGraphics.FillRectangle(New Drawing.SolidBrush(Color), e.ClipRectangle.Left + i * w, e.ClipRectangle.Top, w, e.ClipRectangle.Height)
i += 1
Next
'printForm.PictureBox2.Image = fimage
e.Graphics.DrawImage(fimage, New PointF(e.ClipRectangle.Left, e.ClipRectangle.Top))
End Sub
End Module