图片框中的条形码打印问题 [英] Barcode print issue in picturebox

查看:101
本文介绍了图片框中的条形码打印问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我点击生成按钮时,条形码不会在图片框中打印



我尝试过的内容:



进口系统

进口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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆