图片框中的条形码打印问题 [英] Barcode print issue in picturebox
问题描述
当我点击生成按钮时,条形码不会在图片框中打印
我尝试过的内容:
进口系统
进口System.IO
进口System.Drawing
进口System.Drawing.Printing
Imports System.Windows.Forms
Public Class Form1
Dim BINARY作为字符串
Dim CheckSumVal作为整数
Dim BINVAL作为字符串
Dim BINARYLength作为Int64
Friend WithEvents printDoc As New PrintDocument()
Dim bmpBarcode As Bitmap
Private Sub btnGenerate_Click(ByVal sender As Object,ByVal e As EventArgs)处理btnGenerate.Click
GenerateBINARY(txtInput.Text)
GenerateBarcode(BINARY)
End Sub
Private Sub GenerateBINARY(ByVal输入为Str) ing)
BINARY = 0
Dim CharVal As Integer = 0
Dim CharCount As Integer = 0
Dim GrandCharCount As Integer = 0
Dim CheckSum As Integer = 0
对于每个项目作为输入输入
选择案例项目
案例是=
BINARY = BINARY& 11011001100
CharVal = 0
Case Is =!
BINARY = BINARY& 11001101100
CharVal = 1
案例是=
BINARY = BINARY& 11001100110
CharVal = 2
案例是=#
BINARY = BINARY& 10010011000
CharVal = 3
案例是=$
BINARY = BINARY& 10010001100
CharVal = 4
案例%
BINARY = BINARY& 10001001100
CharVal = 5
案例&
BINARY = BINARY& 10011001000
CharVal = 6
案例'
BINARY = BINARY& 10011000100
CharVal = 7
案例(
BINARY = BINARY&10001100100
CharVal = 8
案例)
BINARY = BINARY& 11001001000
CharVal = 9
案例*
BINARY = BINARY& 11001000100
CharVal = 10
案例+
BINARY = BINARY& 11000100100
CharVal = 11
案例,
BINARY = BINARY& 10110011100
CharVal = 12
案例 -
BINARY = BINARY& 10011011100
CharVal = 13
案例。
BINARY = BINARY& 10011001110
CharVal = 14
案例/
BINARY = BINARY& 10111001100
CharVal = 15
案例0
BINARY = BINARY& 10011101100
CharVal = 16
案例1
BINARY = BINARY& 10011100110
CharVal = 17
案例2
BINARY = BINARY& 11001110010
CharVal = 18
案例3
BINARY = BINARY& 11001011100
CharVal = 19
案例4
BINARY = BINARY& 11001001110
CharVal = 20
案例5
BINARY = BINARY& 11011100100
CharVal = 21
案例6
BINARY = BINARY& 11001110100
CharVal = 22
案例7
BINARY = BINARY& 11101101110
CharVal = 23
案例8
BINARY = BINARY& 11101001100
CharVal = 24
案例9
BINARY = BINARY& 11100101100
CharVal = 25
案例:
BINARY = BINARY& 11100100110
CharVal = 26
案例;
BINARY = BINARY& 11101100100
CharVal = 27
案例
BINARY = BINARY& 11011011000
CharVal = 30
案例?
BINARY = BINARY& 11011000110
CharVal = 31
案例@
BINARY = BINARY& 11000110110
CharVal = 32
案例A
BINARY = BINARY& 10100011000
CharVal = 33
案例B
BINARY = BINARY& 10001011000
CharVal = 34
案例C
BINARY = BINARY& 10001000110
CharVal = 35
案例D
BINARY = BINARY& 10110001000
CharVal = 36
案例E
BINARY = BINARY& 10001101000
CharVal = 37
案例F
BINARY = BINARY& 10001100010
CharVal = 38
案例G
BINARY = BINARY& 11010001000
CharVal = 39
案例H
BINARY = BINARY& 11000101000
CharVal = 40
案例我
BINARY = BINARY& 11000100010
CharVal = 41
案例J
BINARY = BINARY& 10110111000
CharVal = 42
案例K
BINARY = BINARY& 10110001110
CharVal = 43
案例L
BINARY = BINARY& 10001101110
CharVal = 44
案例M
BINARY = BINARY& 10111011000
CharVal = 45
案例N
BINARY = BINARY& 10111000110
CharVal = 46
案例O
BINARY = BINARY& 10001110110
CharVal = 47
案例P
BINARY = BINARY& 11101110110
CharVal = 48
案例Q
BINARY = BINARY& 11010001110
CharVal = 49
案例R
BINARY = BINARY& 11000101110
CharVal = 50
案例S
BINARY = BINARY& 11011101000
CharVal = 51
案例T
BINARY = BINARY& 11011100010
CharVal = 52
案例U
BINARY = BINARY& 11011101110
CharVal = 53
案例V
BINARY = BINARY& 11101011000
CharVal = 54
案例W
BINARY = BINARY& 11101000110
CharVal = 55
案例X
BINARY = BINARY& 11100010110
CharVal = 56
案例Y
BINARY = BINARY& 11101101000
CharVal = 57
案例Z
BINARY = BINARY& 11101100010
CharVal = 58
案例[
BINARY = BINARY& 11100011010
CharVal = 59
案例\
BINARY = BINARY& 11101111010
CharVal = 60
案例]
BINARY = BINARY& 11001000010
CharVal = 61
案例^
BINARY = BINARY& 11110001010
CharVal = 62
案例_
BINARY = BINARY& 10100110000
CharVal = 63
案例`
BINARY = BINARY& 10100001100
CharVal = 64
案例a
BINARY = BINARY& 10010110000
CharVal = 65
案例b
BINARY = BINARY& 10010000110
CharVal = 66
案例c
BINARY = BINARY& 10000101100
CharVal = 67
案例d
BINARY = BINARY& 10000100110
CharVal = 68
案例e
BINARY = BINARY& 10110010000
CharVal = 69
案例f
BINARY = BINARY& 10110000100
CharVal = 70
案例g
BINARY = BINARY& 10011010000
CharVal = 71
案例h
BINARY = BINARY& 10011000010
CharVal = 72
案例我
BINARY = BINARY& 10000110100
CharVal = 73
案例j
BINARY = BINARY& 10000110010
CharVal = 74
案例k
BINARY = BINARY& 11000010010
CharVal = 75
案例l
BINARY = BINARY& 11001010000
CharVal = 76
案例m
BINARY = BINARY& 11110111010
CharVal = 77
案例n
BINARY = BINARY& 11000010100
CharVal = 78
案例o
BINARY = BINARY& 10001111010
CharVal = 79
案例p
BINARY = BINARY& 10100111100
CharVal = 80
案例q
BINARY = BINARY& 10010111100
CharVal = 81
案例r
BINARY = BINARY& 10010011110
CharVal = 82
案例s
BINARY = BINARY& 10111100100
CharVal = 83
案例t
BINARY = BINARY& 10011110100
CharVal = 84
案例你
BINARY = BINARY& 10011110010
CharVal = 85
案例v
BINARY = BINARY& 11110100100
CharVal = 86
案例w
BINARY = BINARY& 11110010100
CharVal = 87
案例x
BINARY = BINARY& 11110010010
CharVal = 88
案例y
BINARY = BINARY& 11011011110
CharVal = 89
案例z
BINARY = BINARY& 11011110110
CharVal = 90
案例{
BINARY = BINARY& 11110110110
CharVal = 91
案例|
BINARY = BINARY& 10101111000
CharVal = 92
案例}
BINARY = BINARY& 10100011110
CharVal = 93
案例〜
BINARY = BINARY& 10001011110
CharVal = 94
结束选择
CharCount = CharCount + 1
GrandCharCount = CharVal * CharCount
CheckSum = CheckSum + GrandCharCount
下一页
'包括起始码B
CheckSum = CheckSum + 104
'获取余额
CheckSumVal = CheckSum Mod 103
'在我们生成它之前将它设置为零
BINVAL = 0
GenerateCheckSum(CheckSumVal)
'开始
BINARY =00011010010000& BINARY
'结束
BINARY = BINARY& BINVAL& 1100011101011000
'
BINARYLength = 0
每次挖掘作为字符串在BINARY
CharCount = CharCount + 1
下一页
结束次级
Private Sub GenerateCheckSum(ByVal Dig As Integer)
Select Case Dig
Case0
BINVAL =11011001100
案例1
BINVAL =11001101100
案例2
BINVAL =11001100110
案例3
BINVAL =10010011000
案例4
BINVAL =10010001100
案例5
BINVAL =10001001100
案例6
BINVAL =10011001000
案例7
BINVAL =10011000100
案例8
BINVAL =10001100100
案例9
BINVAL =11001001000
案例10
BINVAL =11001000100
案例11
BINVAL =11000100100
案例12
BINVAL =10110011100
案例13
BINVAL =10011011100
案例14
BINVAL =10011001110
案例15
BINVAL =10111001100
案例16
BINVAL =10011101100
案例17
BINVAL =10011100110
案例18
BINVAL =11001110010
案例19
BINVAL =11001011100
案例20
BINVAL =11001001110
案例21
BINVAL =11011100100
案例22
BINVAL =11001110100
案例23
BINVAL =11101101110
案例24
BINVAL =11101001100
案例25
BINVAL =11100101100
案例26
BINVAL =11100100110
案例27
BINVAL =11101100100
案例28
BINVAL =11100110100
案例29
BINVAL =11100110010
案例30
BINVAL =11011011000
案例31
BINVAL =11011000110
案例32
BINVAL =11000110110
案例33
BINVAL =10100011000
案例34
BINVAL =10001011000
案例35
BINVAL =10001000110
案例36
BINVAL =10110001000
案例37
BINVAL =10001101000
案例38
BINVAL =10001100010
案例39
BINVAL =11010001000
案例40
BINVAL =11000101000
案例41
BINVAL =11000100010
案例42
BINVAL =10110111000
案例43
双NVAL =10110001110
案例44
BINVAL =10001101110
案例45
BINVAL =10111011000
案例46
BINVAL =10111000110
案例47
BINVAL =10001110110
案例48
BINVAL =11101110110
案例49
BINVAL =11010001110
案例50
BINVAL =11000101110
案例51
BINVAL =11011101000
案例52
BINVAL =11011100010
案例53
BINVAL =11011101110
案例54
BINVAL =11101011000
案例55
BINVAL =11101000110
案例56
BINVAL =11100010110
案例57
BINVAL =11101101000
案例58
BINVAL =11101100010
案例59
BINVAL =11100011010
案例60
BINVAL =11101111010
案例61
BINVAL =11001000010
案例62
BINVAL =11110001010
案例63
BINVAL =10100110000
案例64
BINVAL =10100001100
案例65
BINVAL =10010110000
案例66
BINVAL =10010000110
案例67
BINVAL = 10000101100
案例68
BINVAL =10000100110
案例69
BINVAL = 10110010000
案例70
BINVAL =10110000100
案例71
BINVAL = 10011010000
案例72
BINVAL =10011000010
案例73
BINVAL = 10000110100
案例74
BINVAL =10000110010
案例75
BINVAL = 11000010010
案例76
BINVAL =11001010000
案例77
BINVAL = 11110111010
案例78
BINVAL =11000010100
案例79
BINVAL = 1000 1111010
案例80
BINVAL =10100111100
案例81
BINVAL = 10010111100
案例82
BINVAL =10010011110
案例83
BINVAL = 10111100100
案例84
BINVAL =10011110100
案例85
BINVAL = 10011110010
案例86
BINVAL =11110100100
案例87
BINVAL = 11110010100
案例88
BINVAL =11110010010
案例89
BINVAL = 11011011110
案例90
BINVAL =11011110110
案例91
BINVAL = 11110110 110
案例92
BINVAL =10101111000
案例93
BINVAL = 10100011110
案例94
BINVAL =10001011110
结束选择
结束次级
私有子GenerateBarcode(ByVal输入为字符串)
Dim num As Integer = 0
每个输入作为字符串输入
num = num + cboSize.Text
下一个
Dim rec As New Rectangle(1,1,num,cboLength.Text)
Dim img As New Bitmap(num,Convert.ToInt32 (cboLength.Text))
Dim count As Integer = 0
Dim length As Integer = 0
昏暗aBlackPen作为新笔(Color.Black)
将aWhitePen变暗为新笔(Color.White)
aBlackPen.Width = cboSize.Text
aWhitePen.Width = cboSize.Text
length = length + cboLength.Text
每个项目输入字符串
count = count + cboSize.Text
如果item = 1然后
picBarcode.CreateGraphics.DrawLine(aBlackPen,count,1,count,length)
Else
picBarcode.CreateGraphics.DrawLine (aWhitePen,count,1,count,length)
结束如果
下一页
picBarcode.DrawToBitmap( img,rec)
bmpBarcode = img
End Sub
< br $>
Private Sub btnClear_Click(ByVal sender As Object,ByVal e As EventArgs)处理btnClear.Click
picBarcode.Image = Nothing
End Sub
Private Sub PrintImage(B. yVal sender As Object,ByVal e As System.Drawing.Printing.PrintPageEventArgs)处理printDoc.PrintPage
e.Graphics.DrawImage(bmpBarcode,e.MarginBounds.Left, e.MarginBounds.Top)
End Sub
Private Sub btnPrint_Click(ByVal sender As Object,ByVal e作为EventArgs)处理btnPrint.Click
''在指定位置打印条形码
' GenerateBarcode(BINARY,e.Graphics,New PointF(50,50))
''如果文档有更多页面
'' e.HasMorePages = True
'e.HasMorePages = False
printDoc.Print()
End Sub
Private Sub Form1_Load_1(ByVal sender As System.Object,ByVal e As System.EventArgs)处理MyBase.Load
picBarcode.BackColor = Color.White
昏暗FontSize As Integer = 0
Dim LengthOfBarcode As Integer = 10
FontSize = 1
Do Until FontSize = 72
cboSize.Items.Add(FontSize)
FontSize = FontSize + 1
循环
Do Until LengthOfBarcode = 110
cboLength.Items.Add(LengthOfBarcode)
LengthOfBarcode = LengthOfBarcode + 10
Loop
cboSize.SelectedIndex = 0
cboLength.SelectedIndex = 9
End Sub
'Private Sub GenerateBarcode(ByVal输入为字符串,ByVal G为图形,ByVal Pos为PointF)
'Dim LineWidth As Single = Convert.ToSingle(cboSize.Text)
'Dim LineHeight As Single = Convert.ToSingle(cboLength.Text)
''生成新的位图
'Dim penBlac k作为New Drawing.Pen(Color.Black,LineWidth)'黑色笔的笔'
'G.FillRectangle(Brushes.White,Pos.X,Pos.Y ,LineWidth * Input.Length,LineHeight)
'Dim rx As Single = Pos.X
'对于iPos As Integer = 0 To Input.Length - 1
'如果输入(iPos)=1c那么'只绘制黑线
'G .DrawLine(penBlack,rx,Pos.Y ,rx,Pos.Y + LineHeight)
'结束如果
'rx + = LineWidth
'Next
'End Sub
'Private Sub PrintPage(ByVal sender As Object,ByVal e As System.Drawing.Printing.PrintPageEventArgs)
''在指定位置打印条形码
'GenerateBarcode(BINARY,e.Graphics,New PointF(50,50))
''如果文件有更多页面
''e.HasMorePag es = True
'e.HasMorePages = False
'End Sub
结束类
When i Click generate button, barcode does not print in pictureBox
What I have tried:
Imports System
Imports System.IO
Imports System.Drawing
Imports System.Drawing.Printing
Imports System.Windows.Forms
Public Class Form1
Dim BINARY As String
Dim CheckSumVal As Integer
Dim BINVAL As String
Dim BINARYLength As Int64
Friend WithEvents printDoc As New PrintDocument()
Dim bmpBarcode As Bitmap
Private Sub btnGenerate_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnGenerate.Click
GenerateBINARY(txtInput.Text)
GenerateBarcode(BINARY)
End Sub
Private Sub GenerateBINARY(ByVal Input As String)
BINARY = 0
Dim CharVal As Integer = 0
Dim CharCount As Integer = 0
Dim GrandCharCount As Integer = 0
Dim CheckSum As Integer = 0
For Each Item As Char In Input
Select Case Item
Case Is = " "
BINARY = BINARY & "11011001100"
CharVal = 0
Case Is = "!"
BINARY = BINARY & "11001101100"
CharVal = 1
Case Is = """"
BINARY = BINARY & "11001100110"
CharVal = 2
Case Is = "#"
BINARY = BINARY & "10010011000"
CharVal = 3
Case Is = "$"
BINARY = BINARY & "10010001100"
CharVal = 4
Case "%"
BINARY = BINARY & "10001001100"
CharVal = 5
Case "&"
BINARY = BINARY & "10011001000"
CharVal = 6
Case "'"
BINARY = BINARY & "10011000100"
CharVal = 7
Case "("
BINARY = BINARY & "10001100100"
CharVal = 8
Case ")"
BINARY = BINARY & "11001001000"
CharVal = 9
Case "*"
BINARY = BINARY & "11001000100"
CharVal = 10
Case "+"
BINARY = BINARY & "11000100100"
CharVal = 11
Case ","
BINARY = BINARY & "10110011100"
CharVal = 12
Case "-"
BINARY = BINARY & "10011011100"
CharVal = 13
Case "."
BINARY = BINARY & "10011001110"
CharVal = 14
Case "/"
BINARY = BINARY & "10111001100"
CharVal = 15
Case "0"
BINARY = BINARY & "10011101100"
CharVal = 16
Case "1"
BINARY = BINARY & "10011100110"
CharVal = 17
Case "2"
BINARY = BINARY & "11001110010"
CharVal = 18
Case "3"
BINARY = BINARY & "11001011100"
CharVal = 19
Case "4"
BINARY = BINARY & "11001001110"
CharVal = 20
Case "5"
BINARY = BINARY & "11011100100"
CharVal = 21
Case "6"
BINARY = BINARY & "11001110100"
CharVal = 22
Case "7"
BINARY = BINARY & "11101101110"
CharVal = 23
Case "8"
BINARY = BINARY & "11101001100"
CharVal = 24
Case "9"
BINARY = BINARY & "11100101100"
CharVal = 25
Case ":"
BINARY = BINARY & "11100100110"
CharVal = 26
Case " ;"
BINARY = BINARY & "11101100100"
CharVal = 27
Case ""
BINARY = BINARY & "11011011000"
CharVal = 30
Case " ?"
BINARY = BINARY & "11011000110"
CharVal = 31
Case "@"
BINARY = BINARY & "11000110110"
CharVal = 32
Case "A"
BINARY = BINARY & "10100011000"
CharVal = 33
Case "B"
BINARY = BINARY & "10001011000"
CharVal = 34
Case "C"
BINARY = BINARY & "10001000110"
CharVal = 35
Case "D"
BINARY = BINARY & "10110001000"
CharVal = 36
Case "E"
BINARY = BINARY & "10001101000"
CharVal = 37
Case "F"
BINARY = BINARY & "10001100010"
CharVal = 38
Case "G"
BINARY = BINARY & "11010001000"
CharVal = 39
Case "H"
BINARY = BINARY & "11000101000"
CharVal = 40
Case "I"
BINARY = BINARY & "11000100010"
CharVal = 41
Case "J"
BINARY = BINARY & "10110111000"
CharVal = 42
Case "K"
BINARY = BINARY & "10110001110"
CharVal = 43
Case "L"
BINARY = BINARY & "10001101110"
CharVal = 44
Case "M"
BINARY = BINARY & "10111011000"
CharVal = 45
Case "N"
BINARY = BINARY & "10111000110"
CharVal = 46
Case "O"
BINARY = BINARY & "10001110110"
CharVal = 47
Case "P"
BINARY = BINARY & "11101110110"
CharVal = 48
Case "Q"
BINARY = BINARY & "11010001110"
CharVal = 49
Case "R"
BINARY = BINARY & "11000101110"
CharVal = 50
Case "S"
BINARY = BINARY & "11011101000"
CharVal = 51
Case "T"
BINARY = BINARY & "11011100010"
CharVal = 52
Case "U"
BINARY = BINARY & "11011101110"
CharVal = 53
Case "V"
BINARY = BINARY & "11101011000"
CharVal = 54
Case "W"
BINARY = BINARY & "11101000110"
CharVal = 55
Case "X"
BINARY = BINARY & "11100010110"
CharVal = 56
Case "Y"
BINARY = BINARY & "11101101000"
CharVal = 57
Case "Z"
BINARY = BINARY & "11101100010"
CharVal = 58
Case "["
BINARY = BINARY & "11100011010"
CharVal = 59
Case "\"
BINARY = BINARY & "11101111010"
CharVal = 60
Case "]"
BINARY = BINARY & "11001000010"
CharVal = 61
Case "^"
BINARY = BINARY & "11110001010"
CharVal = 62
Case "_"
BINARY = BINARY & "10100110000"
CharVal = 63
Case "`"
BINARY = BINARY & "10100001100"
CharVal = 64
Case "a"
BINARY = BINARY & "10010110000"
CharVal = 65
Case "b"
BINARY = BINARY & "10010000110"
CharVal = 66
Case "c"
BINARY = BINARY & "10000101100"
CharVal = 67
Case "d"
BINARY = BINARY & "10000100110"
CharVal = 68
Case "e"
BINARY = BINARY & "10110010000"
CharVal = 69
Case "f"
BINARY = BINARY & "10110000100"
CharVal = 70
Case "g"
BINARY = BINARY & "10011010000"
CharVal = 71
Case "h"
BINARY = BINARY & "10011000010"
CharVal = 72
Case "i"
BINARY = BINARY & "10000110100"
CharVal = 73
Case "j"
BINARY = BINARY & "10000110010"
CharVal = 74
Case "k"
BINARY = BINARY & "11000010010"
CharVal = 75
Case "l"
BINARY = BINARY & "11001010000"
CharVal = 76
Case "m"
BINARY = BINARY & "11110111010"
CharVal = 77
Case "n"
BINARY = BINARY & "11000010100"
CharVal = 78
Case "o"
BINARY = BINARY & "10001111010"
CharVal = 79
Case "p"
BINARY = BINARY & "10100111100"
CharVal = 80
Case "q"
BINARY = BINARY & "10010111100"
CharVal = 81
Case "r"
BINARY = BINARY & "10010011110"
CharVal = 82
Case "s"
BINARY = BINARY & "10111100100"
CharVal = 83
Case "t"
BINARY = BINARY & "10011110100"
CharVal = 84
Case "u"
BINARY = BINARY & "10011110010"
CharVal = 85
Case "v"
BINARY = BINARY & "11110100100"
CharVal = 86
Case "w"
BINARY = BINARY & "11110010100"
CharVal = 87
Case "x"
BINARY = BINARY & "11110010010"
CharVal = 88
Case "y"
BINARY = BINARY & "11011011110"
CharVal = 89
Case "z"
BINARY = BINARY & "11011110110"
CharVal = 90
Case "{"
BINARY = BINARY & "11110110110"
CharVal = 91
Case "|"
BINARY = BINARY & "10101111000"
CharVal = 92
Case "}"
BINARY = BINARY & "10100011110"
CharVal = 93
Case "~"
BINARY = BINARY & "10001011110"
CharVal = 94
End Select
CharCount = CharCount + 1
GrandCharCount = CharVal * CharCount
CheckSum = CheckSum + GrandCharCount
Next
'Include start code B
CheckSum = CheckSum + 104
'Get the remainder
CheckSumVal = CheckSum Mod 103
'Set it to zero before we generate it
BINVAL = 0
GenerateCheckSum(CheckSumVal)
'Start
BINARY = "00011010010000" & BINARY
'End
BINARY = BINARY & BINVAL & "1100011101011000"
'
BINARYLength = 0
For Each dig As String In BINARY
CharCount = CharCount + 1
Next
End Sub
Private Sub GenerateCheckSum(ByVal Dig As Integer)
Select Case Dig
Case "0"
BINVAL = "11011001100"
Case "1"
BINVAL = "11001101100"
Case "2"
BINVAL = "11001100110"
Case "3"
BINVAL = "10010011000"
Case "4"
BINVAL = "10010001100"
Case "5"
BINVAL = "10001001100"
Case "6"
BINVAL = "10011001000"
Case "7"
BINVAL = "10011000100"
Case "8"
BINVAL = "10001100100"
Case "9"
BINVAL = "11001001000"
Case "10"
BINVAL = "11001000100"
Case "11"
BINVAL = "11000100100"
Case "12"
BINVAL = "10110011100"
Case "13"
BINVAL = "10011011100"
Case "14"
BINVAL = "10011001110"
Case "15"
BINVAL = "10111001100"
Case "16"
BINVAL = "10011101100"
Case "17"
BINVAL = "10011100110"
Case "18"
BINVAL = "11001110010"
Case "19"
BINVAL = "11001011100"
Case "20"
BINVAL = "11001001110"
Case "21"
BINVAL = "11011100100"
Case "22"
BINVAL = "11001110100"
Case "23"
BINVAL = "11101101110"
Case "24"
BINVAL = "11101001100"
Case "25"
BINVAL = "11100101100"
Case "26"
BINVAL = "11100100110"
Case "27"
BINVAL = "11101100100"
Case "28"
BINVAL = "11100110100"
Case "29"
BINVAL = "11100110010"
Case "30"
BINVAL = "11011011000"
Case "31"
BINVAL = "11011000110"
Case "32"
BINVAL = "11000110110"
Case "33"
BINVAL = "10100011000"
Case "34"
BINVAL = "10001011000"
Case "35"
BINVAL = "10001000110"
Case "36"
BINVAL = "10110001000"
Case "37"
BINVAL = "10001101000"
Case "38"
BINVAL = "10001100010"
Case "39"
BINVAL = "11010001000"
Case "40"
BINVAL = "11000101000"
Case "41"
BINVAL = "11000100010"
Case "42"
BINVAL = "10110111000"
Case "43"
BINVAL = "10110001110"
Case "44"
BINVAL = "10001101110"
Case "45"
BINVAL = "10111011000"
Case "46"
BINVAL = "10111000110"
Case "47"
BINVAL = "10001110110"
Case "48"
BINVAL = "11101110110"
Case "49"
BINVAL = "11010001110"
Case "50"
BINVAL = "11000101110"
Case "51"
BINVAL = "11011101000"
Case "52"
BINVAL = "11011100010"
Case "53"
BINVAL = "11011101110"
Case "54"
BINVAL = "11101011000"
Case "55"
BINVAL = "11101000110"
Case "56"
BINVAL = "11100010110"
Case "57"
BINVAL = "11101101000"
Case "58"
BINVAL = "11101100010"
Case "59"
BINVAL = "11100011010"
Case "60"
BINVAL = "11101111010"
Case "61"
BINVAL = "11001000010"
Case "62"
BINVAL = "11110001010"
Case "63"
BINVAL = "10100110000"
Case "64"
BINVAL = "10100001100"
Case "65"
BINVAL = "10010110000"
Case "66"
BINVAL = "10010000110"
Case "67"
BINVAL = "10000101100"
Case "68"
BINVAL = "10000100110"
Case "69"
BINVAL = "10110010000"
Case "70"
BINVAL = "10110000100"
Case "71"
BINVAL = "10011010000"
Case "72"
BINVAL = "10011000010"
Case "73"
BINVAL = "10000110100"
Case "74"
BINVAL = "10000110010"
Case "75"
BINVAL = "11000010010"
Case "76"
BINVAL = "11001010000"
Case "77"
BINVAL = "11110111010"
Case "78"
BINVAL = "11000010100"
Case "79"
BINVAL = "10001111010"
Case "80"
BINVAL = "10100111100"
Case "81"
BINVAL = "10010111100"
Case "82"
BINVAL = "10010011110"
Case "83"
BINVAL = "10111100100"
Case "84"
BINVAL = "10011110100"
Case "85"
BINVAL = "10011110010"
Case "86"
BINVAL = "11110100100"
Case "87"
BINVAL = "11110010100"
Case "88"
BINVAL = "11110010010"
Case "89"
BINVAL = "11011011110"
Case "90"
BINVAL = "11011110110"
Case "91"
BINVAL = "11110110110"
Case "92"
BINVAL = "10101111000"
Case "93"
BINVAL = "10100011110"
Case "94"
BINVAL = "10001011110"
End Select
End Sub
Private Sub GenerateBarcode(ByVal Input As String)
Dim num As Integer = 0
For Each one As String In Input
num = num + cboSize.Text
Next
Dim rec As New Rectangle(1, 1, num, cboLength.Text)
Dim img As New Bitmap(num, Convert.ToInt32(cboLength.Text))
Dim count As Integer = 0
Dim length As Integer = 0
Dim aBlackPen As New Pen(Color.Black)
Dim aWhitePen As New Pen(Color.White)
aBlackPen.Width = cboSize.Text
aWhitePen.Width = cboSize.Text
length = length + cboLength.Text
For Each item As String In Input
count = count + cboSize.Text
If item = 1 Then
picBarcode.CreateGraphics.DrawLine(aBlackPen, count, 1, count, length)
Else
picBarcode.CreateGraphics.DrawLine(aWhitePen, count, 1, count, length)
End If
Next
picBarcode.DrawToBitmap(img, rec)
bmpBarcode = img
End Sub
Private Sub btnClear_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnClear.Click
picBarcode.Image = Nothing
End Sub
Private Sub PrintImage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles printDoc.PrintPage
e.Graphics.DrawImage(bmpBarcode, e.MarginBounds.Left, e.MarginBounds.Top)
End Sub
Private Sub btnPrint_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnPrint.Click
''Print the barcode at the specified position
'GenerateBarcode(BINARY, e.Graphics, New PointF(50, 50))
''If the document has more pages
''e.HasMorePages=True
'e.HasMorePages = False
printDoc.Print()
End Sub
Private Sub Form1_Load_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
picBarcode.BackColor = Color.White
Dim FontSize As Integer = 0
Dim LengthOfBarcode As Integer = 10
FontSize = 1
Do Until FontSize = 72
cboSize.Items.Add(FontSize)
FontSize = FontSize + 1
Loop
Do Until LengthOfBarcode = 110
cboLength.Items.Add(LengthOfBarcode)
LengthOfBarcode = LengthOfBarcode + 10
Loop
cboSize.SelectedIndex = 0
cboLength.SelectedIndex = 9
End Sub
'Private Sub GenerateBarcode(ByVal Input As String, ByVal G As Graphics, ByVal Pos As PointF)
' Dim LineWidth As Single = Convert.ToSingle(cboSize.Text)
' Dim LineHeight As Single = Convert.ToSingle(cboLength.Text)
' ' Generate a new Bitmap
' Dim penBlack As New Drawing.Pen(Color.Black, LineWidth) ' Pen for black lines
' G.FillRectangle(Brushes.White, Pos.X, Pos.Y, LineWidth * Input.Length, LineHeight)
' Dim rx As Single = Pos.X
' For iPos As Integer = 0 To Input.Length - 1
' If Input(iPos) = "1"c Then ' Only draw black lines
' G.DrawLine(penBlack, rx, Pos.Y, rx, Pos.Y + LineHeight)
' End If
' rx += LineWidth
' Next
'End Sub
'Private Sub PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
' 'Print the barcode at the specified position
' GenerateBarcode(BINARY, e.Graphics, New PointF(50, 50))
' 'If the document has more pages
' 'e.HasMorePages=True
' e.HasMorePages = False
'End Sub
End Class
推荐答案
BINARY = BINARY& 10010001100
CharVal = 4
案例%
BINARY = BINARY& 10001001100
CharVal = 5
案例&
BINARY = BINARY& 10011001000
CharVal = 6
案例'
BINARY = BINARY& 10011000100
CharVal = 7
案例(
BINARY = BINARY&10001100100
CharVal = 8
案例)
BINARY = BINARY& 11001001000
CharVal = 9
案例*
BINARY = BINARY& 11001000100
CharVal = 10
案例+
BINARY = BINARY& 11000100100
CharVal = 11
案例,
BINARY = BINARY& 10110011100
CharVal = 12
案例 -
BINARY = BINARY& 10011011100
CharVal = 13
案例。
BINARY = BINARY& 10011001110
CharVal = 14
案例/
BINARY = BINARY& 10111001100
CharVal = 15
案例0
BINARY = BINARY& 10011101100
CharVal = 16
案例1
BINARY = BINARY& 10011100110
CharVal = 17
案例2
BINARY = BINARY& 11001110010
CharVal = 18
案例3
BINARY = BINARY& 11001011100
CharVal = 19
案例4
BINARY = BINARY& \"11001001110\"
CharVal = 20
Case \"5\"
BINARY = BINARY & \"11011100100\"
CharVal = 21
Case \"6\"
BINARY = BINARY & \"11001110100\"
CharVal = 22
Case \"7\"
BINARY = BINARY & \"11101101110\"
CharVal = 23
Case \"8\"
BINARY = BINARY & \"11101001100\"
CharVal = 24
Case \"9\"
BINARY = BINARY & \"11100101100\"
CharVal = 25
Case \":\"
BINARY = BINARY & \"11100100110\"
CharVal = 26
Case \" ;\"
BINARY = BINARY & \"11101100100\"
CharVal = 27
Case \"\"
BINARY = BINARY & \"11011011000\"
CharVal = 30
Case \" ?\"
BINARY = BINARY & \"11011000110\"
CharVal = 31
Case \"@\"
BINARY = BINARY & \"11000110110\"
CharVal = 32
Case \"A\"
BINARY = BINARY & \"10100011000\"
CharVal = 33
Case \"B\"
BINARY = BINARY & \"10001011000\"
CharVal = 34
Case \"C\"
BINARY = BINARY & \"10001000110\"
CharVal = 35
Case \"D\"
BINARY = BINARY & \"10110001000\"
CharVal = 36
Case \"E\"
BINARY = BINARY & \"10001101000\"
CharVal = 37
Case \"F\"
BINARY = BINARY & \"10001100010\"
CharVal = 38
Case \"G\"
BINARY = BINARY & \"11010001000\"
CharVal = 39
Case \"H\"
BINARY = BINARY & \"11000101000\"
CharVal = 40
Case \"I\"
BINARY = BINARY & \"11000100010\"
CharVal = 41
Case \"J\"
BINARY = BINARY & \"10110111000\"
CharVal = 42
Case \"K\"
BINARY = BINARY & \"10110001110\"
CharVal = 43
Case \"L\"
BINARY = BINARY & \"10001101110\"
CharVal = 44
Case \"M\"
BINARY = BINARY & \"10111011000\"
CharVal = 45
Case \"N\"
BINARY = BINARY & \"10111000110\"
CharVal = 46
Case \"O\"
BINARY = BINARY & \"10001110110\"
CharVal = 47
Case \"P\"
BINARY = BINARY & \"11101110110\"
CharVal = 48
Case \"Q\"
BINARY = BINARY & \"11010001110\"
CharVal = 49
Case \"R\"
BINARY = BINARY & \"11000101110\"
CharVal = 50
Case \"S\"
BINARY = BINARY & \"11011101000\"
CharVal = 51
Case \"T\"
BINARY = BINARY & \"11011100010\"
CharVal = 52
Case \"U\"
BINARY = BINARY & \"11011101110\"
CharVal = 53
Case \"V\"
BINARY = BINARY & \"11101011000\"
CharVal = 54
Case \"W\"
BINARY = BINARY & \"11101000110\"
CharVal = 55
Case \"X\"
BINARY = BINARY & \"11100010110\"
CharVal = 56
Case \"Y\"
BINARY = BINARY & \"11101101000\"
CharVal = 57
Case \"Z\"
BINARY = BINARY & \"11101100010\"
CharVal = 58
Case \"[\"
BINARY = BINARY & \"11100011010\"
CharVal = 59
Case \"\\"
BINARY = BINARY & \"11101111010\"
CharVal = 60
Case \"]\"
BINARY = BINARY & \"11001000010\"
CharVal = 61
Case \"^\"
BINARY = BINARY & \"11110001010\"
CharVal = 62
Case \"_\"
BINARY = BINARY & \"10100110000\"
CharVal = 63
Case \"`\"
BINARY = BINARY & \"10100001100\"
CharVal = 64
Case \"a\"
BINARY = BINARY & \"10010110000\"
CharVal = 65
Case \"b\"
BINARY = BINARY & \"10010000110\"
CharVal = 66
Case \"c\"
BINARY = BINARY & \"10000101100\"
CharVal = 67
Case \"d\"
BINARY = BINARY & \"10000100110\"
CharVal = 68
Case \"e\"
BINARY = BINARY & \"10110010000\"
CharVal = 69
Case \"f\"
BINARY = BINARY & \"10110000100\"
CharVal = 70
Case \"g\"
BINARY = BINARY & \"10011010000\"
CharVal = 71
Case \"h\"
BINARY = BINARY & \"10011000010\"
CharVal = 72
Case \"i\"
BINARY = BINARY & \"10000110100\"
CharVal = 73
Case \"j\"
BINARY = BINARY & \"10000110010\"
CharVal = 74
Case \"k\"
BINARY = BINARY & \"11000010010\"
CharVal = 75
Case \"l\"
BINARY = BINARY & \"11001010000\"
CharVal = 76
Case \"m\"
BINARY = BINARY & \"11110111010\"
CharVal = 77
Case \"n\"
BINARY = BINARY & \"11000010100\"
CharVal = 78
Case \"o\"
BINARY = BINARY & \"10001111010\"
CharVal = 79
Case \"p\"
BINARY = BINARY & \"10100111100\"
CharVal = 80
Case \"q\"
BINARY = BINARY & \"10010111100\"
CharVal = 81
Case \"r\"
BINARY = BINARY & \"10010011110\"
CharVal = 82
Case \"s\"
BINARY = BINARY & \"10111100100\"
CharVal = 83
Case \"t\"
BINARY = BINARY & \"10011110100\"
CharVal = 84
Case \"u\"
BINARY = BINARY & \"10011110010\"
CharVal = 85
Case \"v\"
BINARY = BINARY & \"11110100100\"
CharVal = 86
Case \"w\"
BINARY = BINARY & \"11110010100\"
CharVal = 87
Case \"x\"
BINARY = BINARY & \"11110010010\"
CharVal = 88
Case \"y\"
BINARY = BINARY & \"11011011110\"
CharVal = 89
Case \"z\"
BINARY = BINARY & \"11011110110\"
CharVal = 90
Case \"{\"
BINARY = BINARY & \"11110110110\"
CharVal = 91
Case \"|\"
BINARY = BINARY & \"10101111000\"
CharVal = 92
Case \"}\"
BINARY = BINARY & \"10100011110\"
CharVal = 93
Case \"~\"
BINARY = BINARY & \"10001011110\"
CharVal = 94
End Select
CharCount = CharCount + 1
GrandCharCount = CharVal * CharCount
CheckSum = CheckSum + GrandCharCount
Next
’Include start code B
CheckSum = CheckSum + 104
’Get the remainder
CheckSumVal = CheckSum Mod 103
’Set it to zero before we generate it
BINVAL = 0
GenerateCheckSum(CheckSumVal)
’Start
BINARY = \"00011010010000\" & BINARY
’End
BINARY = BINARY & BINVAL & \"1100011101011000\"
’
BINARYLength = 0
For Each dig As String In BINARY
CharCount = CharCount + 1
Next
End Sub
Private Sub GenerateCheckSum(ByVal Dig As Integer)
Select Case Dig
Case \"0\"
BINVAL = \"11011001100\"
Case \"1\"
BINVAL = \"11001101100\"
Case \"2\"
BINVAL = \"11001100110\"
Case \"3\"
BINVAL = \"10010011000\"
Case \"4\"
BINVAL = \"10010001100\"
Case \"5\"
BINVAL = \"10001001100\"
Case \"6\"
BINVAL = \"10011001000\"
Case \"7\"
BINVAL = \"10011000100\"
Case \"8\"
BINVAL = \"10001100100\"
Case \"9\"
BINVAL = \"11001001000\"
Case \"10\"
BINVAL = \"11001000100\"
Case \"11\"
BINVAL = \"11000100100\"
Case \"12\"
BINVAL = \"10110011100\"
Case \"13\"
BINVAL = \"10011011100\"
Case \"14\"
BINVAL = \"10011001110\"
Case \"15\"
BINVAL = \"10111001100\"
Case \"16\"
BINVAL = \"10011101100\"
Case \"17\"
BINVAL = \"10011100110\"
Case \"18\"
BINVAL = \"11001110010\"
Case \"19\"
BINVAL = \"11001011100\"
Case \"20\"
BINVAL = \"11001001110\"
Case \"21\"
BINVAL = \"11011100100\"
Case \"22\"
BINVAL = \"11001110100\"
Case \"23\"
BINVAL = \"11101101110\"
Case \"24\"
BINVAL = \"11101001100\"
Case \"25\"
BINVAL = \"11100101100\"
Case \"26\"
BINVAL = \"11100100110\"
Case \"27\"
BINVAL = \"11101100100\"
Case \"28\"
BINVAL = \"11100110100\"
Case \"29\"
BINVAL = \"11100110010\"
Case \"30\"
BINVAL = \"11011011000\"
Case \"31\"
BINVAL = \"11011000110\"
Case \"32\"
BINVAL = \"11000110110\"
Case \"33\"
BINVAL = \"10100011000\"
Case \"34\"
BINVAL = \"10001011000\"
Case \"35\"
BINVAL = \"10001000110\"
Case \"36\"
BINVAL = \"10110001000\"
Case \"37\"
BINVAL = \"10001101000\"
Case \"38\"
BINVAL = \"10001100010\"
Case \"39\"
BINVAL = \"11010001000\"
Case \"40\"
BINVAL = \"11000101000\"
Case \"41\"
BINVAL = \"11000100010\"
Case \"42\"
BINVAL = \"10110111000\"
Case \"43\"
BI NVAL = \"10110001110\"
Case \"44\"
BINVAL = \"10001101110\"
Case \"45\"
BINVAL = \"10111011000\"
Case \"46\"
BINVAL = \"10111000110\"
Case \"47\"
BINVAL = \"10001110110\"
Case \"48\"
BINVAL = \"11101110110\"
Case \"49\"
BINVAL = \"11010001110\"
Case \"50\"
BINVAL = \"11000101110\"
Case \"51\"
BINVAL = \"11011101000\"
Case \"52\"
BINVAL = \"11011100010\"
Case \"53\"
BINVAL = \"11011101110\"
Case \"54\"
BINVAL = \"11101011000\"
Case \"55\"
BINVAL = \"11101000110\"
Case \"56\"
BINVAL = \"11100010110\"
Case \"57\"
BINVAL = \"11101101000\"
Case \"58\"
BINVAL = \"11101100010\"
Case \"59\"
BINVAL = \"11100011010\"
Case \"60\"
BINVAL = \"11101111010\"
Case \"61\"
BINVAL = \"11001000010\"
Case \"62\"
BINVAL = \"11110001010\"
Case \"63\"
BINVAL = \"10100110000\"
Case \"64\"
BINVAL = \"10100001100\"
Case \"65\"
BINVAL = \"10010110000\"
Case \"66\"
BINVAL = \"10010000110\"
Case \"67\"
BINVAL = \" 10000101100\"
Case \"68\"
BINVAL = \"10000100110\"
Case \"69\"
BINVAL = \"10110010000\"
Case \"70\"
BINVAL = \"10110000100\"
Case \"71\"
BINVAL = \"10011010000\"
Case \"72\"
BINVAL = \"10011000010\"
Case \"73\"
BINVAL = \"10000110100\"
Case \"74\"
BINVAL = \"10000110010\"
Case \"75\"
BINVAL = \"11000010010\"
Case \"76\"
BINVAL = \"11001010000\"
Case \"77\"
BINVAL = \"11110111010\"
Case \"78\"
BINVAL = \"11000010100\"
Case \"79\"
BINVAL = \"1000 1111010\"
Case \"80\"
BINVAL = \"10100111100\"
Case \"81\"
BINVAL = \"10010111100\"
Case \"82\"
BINVAL = \"10010011110\"
Case \"83\"
BINVAL = \"10111100100\"
Case \"84\"
BINVAL = \"10011110100\"
Case \"85\"
BINVAL = \"10011110010\"
Case \"86\"
BINVAL = \"11110100100\"
Case \"87\"
BINVAL = \"11110010100\"
Case \"88\"
BINVAL = \"11110010010\"
Case \"89\"
BINVAL = \"11011011110\"
Case \"90\"
BINVAL = \"11011110110\"
Case \"91\"
BINVAL = \"11110110 110\"
Case \"92\"
BINVAL = \"10101111000\"
Case \"93\"
BINVAL = \"10100011110\"
Case \"94\"
BINVAL = \"10001011110\"
End Select
End Sub
Private Sub GenerateBarcode(ByVal Input As String)
Dim num As Integer = 0
For Each one As String In Input
num = num + cboSize.Text
Next
Dim rec As New Rectangle(1, 1, num, cboLength.Text)
Dim img As New Bitmap(num, Convert.ToInt32(cboLength.Text))
Dim count As Integer = 0
Dim length As Integer = 0
Dim aBlackPen As New Pen(Color.Black)
Dim aWhitePen As New Pen(Color.White)
aBlackPen.Width = cboSize.Text
aWhitePen.Width = cboSize.Text
length = length + cboLength.Text
For Each item As String In Input
count = count + cboSize.Text
If item = 1 Then
picBarcode.CreateGraphics.DrawLine(aBlackPen, count, 1, count, length)
Else
picBarcode.CreateGraphics.DrawLine(aWhitePen, count, 1, count, length)
End If
Next
picBarcode.DrawToBitmap(img, rec)
bmpBarcode = img
End Sub
Private Sub btnClear_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnClear.Click
picBarcode.Image = Nothing
End Sub
Private Sub PrintImage(B yVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles printDoc.PrintPage
e.Graphics.DrawImage(bmpBarcode, e.MarginBounds.Left, e.MarginBounds.Top)
End Sub
Private Sub btnPrint_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnPrint.Click
’’Print the barcode at the specified position
’GenerateBarcode(BINARY, e.Graphics, New PointF(50, 50))
’’If the document has more pages
’’e.HasMorePages=True
’e.HasMorePages = False
printDoc.Print()
End Sub
Private Sub Form1_Load_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
picBarcode.BackColor = Color.White
Dim FontSize As Integer = 0
Dim LengthOfBarcode As Integer = 10
FontSize = 1
Do Until FontSize = 72
cboSize.Items.Add(FontSize)
FontSize = FontSize + 1
Loop
Do Until LengthOfBarcode = 110
cboLength.Items.Add(LengthOfBarcode)
LengthOfBarcode = LengthOfBarcode + 10
Loop
cboSize.SelectedIndex = 0
cboLength.SelectedIndex = 9
End Sub
’Private Sub GenerateBarcode(ByVal Input As String, ByVal G As Graphics, ByVal Pos As PointF)
’ Dim LineWidth As Single = Convert.ToSingle(cboSize.Text)
’ Dim LineHeight As Single = Convert.ToSingle(cboLength.Text)
’ ’ Generate a new Bitmap
’ Dim penBlac k As New Drawing.Pen(Color.Black, LineWidth) ’ Pen for black lines
’ G.FillRectangle(Brushes.White, Pos.X, Pos.Y, LineWidth * Input.Length, LineHeight)
’ Dim rx As Single = Pos.X
’ For iPos As Integer = 0 To Input.Length - 1
’ If Input(iPos) = \"1\"c Then ’ Only draw black lines
’ G.DrawLine(penBlack, rx, Pos.Y, rx, Pos.Y + LineHeight)
’ End If
’ rx += LineWidth
’ Next
’End Sub
’Private Sub PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
’ ’Print the barcode at the specified position
’ GenerateBarcode(BINARY, e.Graphics, New PointF(50, 50))
’ ’If the document has more pages
’ ’e.HasMorePag es=True
’ e.HasMorePages = False
’End Sub
End Class
"
BINARY = BINARY & "10010001100"
CharVal = 4
Case "%"
BINARY = BINARY & "10001001100"
CharVal = 5
Case "&"
BINARY = BINARY & "10011001000"
CharVal = 6
Case "'"
BINARY = BINARY & "10011000100"
CharVal = 7
Case "("
BINARY = BINARY & "10001100100"
CharVal = 8
Case ")"
BINARY = BINARY & "11001001000"
CharVal = 9
Case "*"
BINARY = BINARY & "11001000100"
CharVal = 10
Case "+"
BINARY = BINARY & "11000100100"
CharVal = 11
Case ","
BINARY = BINARY & "10110011100"
CharVal = 12
Case "-"
BINARY = BINARY & "10011011100"
CharVal = 13
Case "."
BINARY = BINARY & "10011001110"
CharVal = 14
Case "/"
BINARY = BINARY & "10111001100"
CharVal = 15
Case "0"
BINARY = BINARY & "10011101100"
CharVal = 16
Case "1"
BINARY = BINARY & "10011100110"
CharVal = 17
Case "2"
BINARY = BINARY & "11001110010"
CharVal = 18
Case "3"
BINARY = BINARY & "11001011100"
CharVal = 19
Case "4"
BINARY = BINARY & "11001001110"
CharVal = 20
Case "5"
BINARY = BINARY & "11011100100"
CharVal = 21
Case "6"
BINARY = BINARY & "11001110100"
CharVal = 22
Case "7"
BINARY = BINARY & "11101101110"
CharVal = 23
Case "8"
BINARY = BINARY & "11101001100"
CharVal = 24
Case "9"
BINARY = BINARY & "11100101100"
CharVal = 25
Case ":"
BINARY = BINARY & "11100100110"
CharVal = 26
Case " ;"
BINARY = BINARY & "11101100100"
CharVal = 27
Case ""
BINARY = BINARY & "11011011000"
CharVal = 30
Case " ?"
BINARY = BINARY & "11011000110"
CharVal = 31
Case "@"
BINARY = BINARY & "11000110110"
CharVal = 32
Case "A"
BINARY = BINARY & "10100011000"
CharVal = 33
Case "B"
BINARY = BINARY & "10001011000"
CharVal = 34
Case "C"
BINARY = BINARY & "10001000110"
CharVal = 35
Case "D"
BINARY = BINARY & "10110001000"
CharVal = 36
Case "E"
BINARY = BINARY & "10001101000"
CharVal = 37
Case "F"
BINARY = BINARY & "10001100010"
CharVal = 38
Case "G"
BINARY = BINARY & "11010001000"
CharVal = 39
Case "H"
BINARY = BINARY & "11000101000"
CharVal = 40
Case "I"
BINARY = BINARY & "11000100010"
CharVal = 41
Case "J"
BINARY = BINARY & "10110111000"
CharVal = 42
Case "K"
BINARY = BINARY & "10110001110"
CharVal = 43
Case "L"
BINARY = BINARY & "10001101110"
CharVal = 44
Case "M"
BINARY = BINARY & "10111011000"
CharVal = 45
Case "N"
BINARY = BINARY & "10111000110"
CharVal = 46
Case "O"
BINARY = BINARY & "10001110110"
CharVal = 47
Case "P"
BINARY = BINARY & "11101110110"
CharVal = 48
Case "Q"
BINARY = BINARY & "11010001110"
CharVal = 49
Case "R"
BINARY = BINARY & "11000101110"
CharVal = 50
Case "S"
BINARY = BINARY & "11011101000"
CharVal = 51
Case "T"
BINARY = BINARY & "11011100010"
CharVal = 52
Case "U"
BINARY = BINARY & "11011101110"
CharVal = 53
Case "V"
BINARY = BINARY & "11101011000"
CharVal = 54
Case "W"
BINARY = BINARY & "11101000110"
CharVal = 55
Case "X"
BINARY = BINARY & "11100010110"
CharVal = 56
Case "Y"
BINARY = BINARY & "11101101000"
CharVal = 57
Case "Z"
BINARY = BINARY & "11101100010"
CharVal = 58
Case "["
BINARY = BINARY & "11100011010"
CharVal = 59
Case "\"
BINARY = BINARY & "11101111010"
CharVal = 60
Case "]"
BINARY = BINARY & "11001000010"
CharVal = 61
Case "^"
BINARY = BINARY & "11110001010"
CharVal = 62
Case "_"
BINARY = BINARY & "10100110000"
CharVal = 63
Case "`"
BINARY = BINARY & "10100001100"
CharVal = 64
Case "a"
BINARY = BINARY & "10010110000"
CharVal = 65
Case "b"
BINARY = BINARY & "10010000110"
CharVal = 66
Case "c"
BINARY = BINARY & "10000101100"
CharVal = 67
Case "d"
BINARY = BINARY & "10000100110"
CharVal = 68
Case "e"
BINARY = BINARY & "10110010000"
CharVal = 69
Case "f"
BINARY = BINARY & "10110000100"
CharVal = 70
Case "g"
BINARY = BINARY & "10011010000"
CharVal = 71
Case "h"
BINARY = BINARY & "10011000010"
CharVal = 72
Case "i"
BINARY = BINARY & "10000110100"
CharVal = 73
Case "j"
BINARY = BINARY & "10000110010"
CharVal = 74
Case "k"
BINARY = BINARY & "11000010010"
CharVal = 75
Case "l"
BINARY = BINARY & "11001010000"
CharVal = 76
Case "m"
BINARY = BINARY & "11110111010"
CharVal = 77
Case "n"
BINARY = BINARY & "11000010100"
CharVal = 78
Case "o"
BINARY = BINARY & "10001111010"
CharVal = 79
Case "p"
BINARY = BINARY & "10100111100"
CharVal = 80
Case "q"
BINARY = BINARY & "10010111100"
CharVal = 81
Case "r"
BINARY = BINARY & "10010011110"
CharVal = 82
Case "s"
BINARY = BINARY & "10111100100"
CharVal = 83
Case "t"
BINARY = BINARY & "10011110100"
CharVal = 84
Case "u"
BINARY = BINARY & "10011110010"
CharVal = 85
Case "v"
BINARY = BINARY & "11110100100"
CharVal = 86
Case "w"
BINARY = BINARY & "11110010100"
CharVal = 87
Case "x"
BINARY = BINARY & "11110010010"
CharVal = 88
Case "y"
BINARY = BINARY & "11011011110"
CharVal = 89
Case "z"
BINARY = BINARY & "11011110110"
CharVal = 90
Case "{"
BINARY = BINARY & "11110110110"
CharVal = 91
Case "|"
BINARY = BINARY & "10101111000"
CharVal = 92
Case "}"
BINARY = BINARY & "10100011110"
CharVal = 93
Case "~"
BINARY = BINARY & "10001011110"
CharVal = 94
End Select
CharCount = CharCount + 1
GrandCharCount = CharVal * CharCount
CheckSum = CheckSum + GrandCharCount
Next
'Include start code B
CheckSum = CheckSum + 104
'Get the remainder
CheckSumVal = CheckSum Mod 103
'Set it to zero before we generate it
BINVAL = 0
GenerateCheckSum(CheckSumVal)
'Start
BINARY = "00011010010000" & BINARY
'End
BINARY = BINARY & BINVAL & "1100011101011000"
'
BINARYLength = 0
For Each dig As String In BINARY
CharCount = CharCount + 1
Next
End Sub
Private Sub GenerateCheckSum(ByVal Dig As Integer)
Select Case Dig
Case "0"
BINVAL = "11011001100"
Case "1"
BINVAL = "11001101100"
Case "2"
BINVAL = "11001100110"
Case "3"
BINVAL = "10010011000"
Case "4"
BINVAL = "10010001100"
Case "5"
BINVAL = "10001001100"
Case "6"
BINVAL = "10011001000"
Case "7"
BINVAL = "10011000100"
Case "8"
BINVAL = "10001100100"
Case "9"
BINVAL = "11001001000"
Case "10"
BINVAL = "11001000100"
Case "11"
BINVAL = "11000100100"
Case "12"
BINVAL = "10110011100"
Case "13"
BINVAL = "10011011100"
Case "14"
BINVAL = "10011001110"
Case "15"
BINVAL = "10111001100"
Case "16"
BINVAL = "10011101100"
Case "17"
BINVAL = "10011100110"
Case "18"
BINVAL = "11001110010"
Case "19"
BINVAL = "11001011100"
Case "20"
BINVAL = "11001001110"
Case "21"
BINVAL = "11011100100"
Case "22"
BINVAL = "11001110100"
Case "23"
BINVAL = "11101101110"
Case "24"
BINVAL = "11101001100"
Case "25"
BINVAL = "11100101100"
Case "26"
BINVAL = "11100100110"
Case "27"
BINVAL = "11101100100"
Case "28"
BINVAL = "11100110100"
Case "29"
BINVAL = "11100110010"
Case "30"
BINVAL = "11011011000"
Case "31"
BINVAL = "11011000110"
Case "32"
BINVAL = "11000110110"
Case "33"
BINVAL = "10100011000"
Case "34"
BINVAL = "10001011000"
Case "35"
BINVAL = "10001000110"
Case "36"
BINVAL = "10110001000"
Case "37"
BINVAL = "10001101000"
Case "38"
BINVAL = "10001100010"
Case "39"
BINVAL = "11010001000"
Case "40"
BINVAL = "11000101000"
Case "41"
BINVAL = "11000100010"
Case "42"
BINVAL = "10110111000"
Case "43"
BINVAL = "10110001110"
Case "44"
BINVAL = "10001101110"
Case "45"
BINVAL = "10111011000"
Case "46"
BINVAL = "10111000110"
Case "47"
BINVAL = "10001110110"
Case "48"
BINVAL = "11101110110"
Case "49"
BINVAL = "11010001110"
Case "50"
BINVAL = "11000101110"
Case "51"
BINVAL = "11011101000"
Case "52"
BINVAL = "11011100010"
Case "53"
BINVAL = "11011101110"
Case "54"
BINVAL = "11101011000"
Case "55"
BINVAL = "11101000110"
Case "56"
BINVAL = "11100010110"
Case "57"
BINVAL = "11101101000"
Case "58"
BINVAL = "11101100010"
Case "59"
BINVAL = "11100011010"
Case "60"
BINVAL = "11101111010"
Case "61"
BINVAL = "11001000010"
Case "62"
BINVAL = "11110001010"
Case "63"
BINVAL = "10100110000"
Case "64"
BINVAL = "10100001100"
Case "65"
BINVAL = "10010110000"
Case "66"
BINVAL = "10010000110"
Case "67"
BINVAL = "10000101100"
Case "68"
BINVAL = "10000100110"
Case "69"
BINVAL = "10110010000"
Case "70"
BINVAL = "10110000100"
Case "71"
BINVAL = "10011010000"
Case "72"
BINVAL = "10011000010"
Case "73"
BINVAL = "10000110100"
Case "74"
BINVAL = "10000110010"
Case "75"
BINVAL = "11000010010"
Case "76"
BINVAL = "11001010000"
Case "77"
BINVAL = "11110111010"
Case "78"
BINVAL = "11000010100"
Case "79"
BINVAL = "10001111010"
Case "80"
BINVAL = "10100111100"
Case "81"
BINVAL = "10010111100"
Case "82"
BINVAL = "10010011110"
Case "83"
BINVAL = "10111100100"
Case "84"
BINVAL = "10011110100"
Case "85"
BINVAL = "10011110010"
Case "86"
BINVAL = "11110100100"
Case "87"
BINVAL = "11110010100"
Case "88"
BINVAL = "11110010010"
Case "89"
BINVAL = "11011011110"
Case "90"
BINVAL = "11011110110"
Case "91"
BINVAL = "11110110110"
Case "92"
BINVAL = "10101111000"
Case "93"
BINVAL = "10100011110"
Case "94"
BINVAL = "10001011110"
End Select
End Sub
Private Sub GenerateBarcode(ByVal Input As String)
Dim num As Integer = 0
For Each one As String In Input
num = num + cboSize.Text
Next
Dim rec As New Rectangle(1, 1, num, cboLength.Text)
Dim img As New Bitmap(num, Convert.ToInt32(cboLength.Text))
Dim count As Integer = 0
Dim length As Integer = 0
Dim aBlackPen As New Pen(Color.Black)
Dim aWhitePen As New Pen(Color.White)
aBlackPen.Width = cboSize.Text
aWhitePen.Width = cboSize.Text
length = length + cboLength.Text
For Each item As String In Input
count = count + cboSize.Text
If item = 1 Then
picBarcode.CreateGraphics.DrawLine(aBlackPen, count, 1, count, length)
Else
picBarcode.CreateGraphics.DrawLine(aWhitePen, count, 1, count, length)
End If
Next
picBarcode.DrawToBitmap(img, rec)
bmpBarcode = img
End Sub
Private Sub btnClear_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnClear.Click
picBarcode.Image = Nothing
End Sub
Private Sub PrintImage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles printDoc.PrintPage
e.Graphics.DrawImage(bmpBarcode, e.MarginBounds.Left, e.MarginBounds.Top)
End Sub
Private Sub btnPrint_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnPrint.Click
''Print the barcode at the specified position
'GenerateBarcode(BINARY, e.Graphics, New PointF(50, 50))
''If the document has more pages
''e.HasMorePages=True
'e.HasMorePages = False
printDoc.Print()
End Sub
Private Sub Form1_Load_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
picBarcode.BackColor = Color.White
Dim FontSize As Integer = 0
Dim LengthOfBarcode As Integer = 10
FontSize = 1
Do Until FontSize = 72
cboSize.Items.Add(FontSize)
FontSize = FontSize + 1
Loop
Do Until LengthOfBarcode = 110
cboLength.Items.Add(LengthOfBarcode)
LengthOfBarcode = LengthOfBarcode + 10
Loop
cboSize.SelectedIndex = 0
cboLength.SelectedIndex = 9
End Sub
'Private Sub GenerateBarcode(ByVal Input As String, ByVal G As Graphics, ByVal Pos As PointF)
' Dim LineWidth As Single = Convert.ToSingle(cboSize.Text)
' Dim LineHeight As Single = Convert.ToSingle(cboLength.Text)
' ' Generate a new Bitmap
' Dim penBlack As New Drawing.Pen(Color.Black, LineWidth) ' Pen for black lines
' G.FillRectangle(Brushes.White, Pos.X, Pos.Y, LineWidth * Input.Length, LineHeight)
' Dim rx As Single = Pos.X
' For iPos As Integer = 0 To Input.Length - 1
' If Input(iPos) = "1"c Then ' Only draw black lines
' G.DrawLine(penBlack, rx, Pos.Y, rx, Pos.Y + LineHeight)
' End If
' rx += LineWidth
' Next
'End Sub
'Private Sub PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
' 'Print the barcode at the specified position
' GenerateBarcode(BINARY, e.Graphics, New PointF(50, 50))
' 'If the document has more pages
' 'e.HasMorePages=True
' e.HasMorePages = False
'End Sub
End Class
Use the debugger to see what your code is doing. Make sure it try to fill the picturebox, make sure there is a code to print.
There is a tool that allow you to see what your code is doing, its name is debugger.它也是一个很好的学习工具,因为它向你展示了现实,你可以看到哪种期望与现实相符。
当你不明白你的代码在做什么或为什么它做它做的时候,答案就是答案是调试器。
使用调试器查看代码正在执行的操作。 Just set a breakpoint and see your code performing, the debugger allow you to execute lines 1 by 1 and to inspect variables as it execute.
Debugger - Wikipedia, the free encyclopedia[^]
Mastering Debugging in Visual Studio 2010 - A Beginner’s Guide[^]
Basic Debugging with Visual Studio 2010 - YouTube[^]
Visual Basic / Visual Studio Video Tutor ial - Basic Debugging - YouTube[^]
Visual Basic .NET programming for Beginners - Breakpoints and Debugging Tools[^]
The debugger is here to show you what your code is doing and your task is to compare with what it should do.
There is no magic in the debugger, it don’t find bugs, it just help you to.当代码没有达到预期的效果时,你就会接近一个错误。
Use the debugger to see what your code is doing. Make sure it try to fill the picturebox, make sure there is a code to print.
There is a tool that allow you to see what your code is doing, its name is debugger. It is also a great learning tool because it show you reality and you can see which expectation match reality.
When you don't understand what your code is doing or why it does what it does, the answer is debugger.
Use the debugger to see what your code is doing. Just set a breakpoint and see your code performing, the debugger allow you to execute lines 1 by 1 and to inspect variables as it execute.
Debugger - Wikipedia, the free encyclopedia[^]
Mastering Debugging in Visual Studio 2010 - A Beginner's Guide[^]
Basic Debugging with Visual Studio 2010 - YouTube[^]
Visual Basic / Visual Studio Video Tutorial - Basic Debugging - YouTube[^]
Visual Basic .NET programming for Beginners - Breakpoints and Debugging Tools[^]
The debugger is here to show you what your code is doing and your task is to compare with what it should do.
There is no magic in the debugger, it don't find bugs, it just help you to. When the code don't do what is expected, you are close to a bug.
这篇关于图片框中的条形码打印问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!