4/29/2019
22
Kode di bawah ini akan menunjukkan cara untuk input data ke dalam kotak teks dan mendapatkan barcode dari gambar itu. Anda juga akan mempelajari bagaimana untuk bekerja dengan clipboard checksum dan kontrol.
  1. Membuat Barcode Dengan Visual Basic

Dengan menggunakan Visual Basic 6 kita bisa menghasilkan berbagai macam jenis program. Cara Membuat Form Login Di Vb 6. Beberapa artikel dibawah ini mungkin bisa menjadi petunjuk awal untuk anda dalam membuat barcode: Barcodes in Visual Basic 6. Cara khusus untuk ini.


Cara Membuat Barcode di VB 6.0 - Pada pertemuan kali ini kita akan membuat sebuah Barcode yang yang dibuat dengan menggunakan Visual Basic.Mungkin suatu saat kita akan membutuhkan kode ini untuk inputan barang yang kita buat di program kita.

Untuk menggunakan, baru memulai Visual Basic Proyek, menambahkan formulir untuk proyek dan paste kode di bawah ini ke dalamnya. Anda akan memiliki visual untuk membuat kotak (qty4), tombol perintah, frame (qty2), label, tombol pilihan (qty4), gambar kotak (qty2) dan kotak teks.

Berikut tampilan preview dari program barcode maker yang kita akan buat.Untuk desain anda bisa membuat sesuai dengan

Option Explicit
Dim BCtype As Long


Private Sub makeBC()
Select Case BCtype
Case 0
make39
Case 1
makei25
Case 2
make128
Case 3
makeCodabar
End Select
End Sub



Private Sub make39()
Dim x As Long, y As Long, pos As Long
Dim Bardata As String
Dim Cur As String
Dim CurVal As Long
Dim chksum As Long
Dim chkchr As String
Dim temp As String
Dim BC(43) As String
'3 of the 9 elements are wide: 0=narrow, 1=wide
BC(0) = '000110100' '0
BC(1) = '100100001' '1
BC(2) = '001100001' '2
BC(3) = '101100000' '3
BC(4) = '000110001' '4
BC(5) = '100110000' '5
BC(6) = '001110000' '6
BC(7) = '000100101' '7
BC(8) = '100100100' '8
BC(9) = '001100100' '9
BC(10) = '100001001' 'A
BC(11) = '001001001' 'B
BC(12) = '101001000' 'C
BC(13) = '000011001' 'D
BC(14) = '100011000' 'E
BC(15) = '001011000' 'F
BC(16) = '000001101' 'G
BC(17) = '100001100' 'H
BC(18) = '001001100' 'I
BC(19) = '000011100' 'J
BC(20) = '100000011' 'K
BC(21) = '001000011' 'L
BC(22) = '101000010' 'M
BC(23) = '000010011' 'N
BC(24) = '100010010' 'O
BC(25) = '001010010' 'P
BC(26) = '000000111' 'Q
BC(27) = '100000110' 'R
BC(28) = '001000110' 'S
BC(29) = '000010110' 'T
BC(30) = '110000001' 'U
BC(31) = '011000001' 'V
BC(32) = '111000000' 'W
BC(33) = '010010001' 'X
BC(34) = '110010000' 'Y
BC(35) = '011010000' 'Z
BC(36) = '010000101' '-
BC(37) = '110000100' '.
BC(38) = '011000100' '
BC(39) = '010101000' '$
BC(40) = '010100010' '/
BC(41) = '010001010' '+
BC(42) = '000101010' '%
BC(43) = '010010100' '* (used for start/stop character only)
Picture1.Cls
If Text1.Text = ' Then Exit Sub
pos = 20
Bardata = UCase(Text1.Text)
'Check for invalid characters, build temp string & calculate check sum
For x = 1 To Len(Bardata)
Cur = Mid$(Bardata, x, 1)
Select Case Cur
Case '0' To '9'
CurVal = Val(Cur)
Case 'A' To 'Z'
CurVal = Asc(Cur) - 55
Case '-'
CurVal = 36
Case '.'
CurVal = 37
Case ' '
CurVal = 38
Case '$'
CurVal = 39
Case '/'
CurVal = 40
Case '+'
CurVal = 41
Case '%'
CurVal = 42
Case Else 'oops!
Picture1.Print Cur & ' is Invalid'
Exit Sub
End Select
temp = temp & BC(CurVal) & '0' '0'= add intercharactor gap (1 narrow space)
chksum = chksum + CurVal
Next
'Add Check Character? (rarely used, but i put it here anyway...)
If Check1(2).Value Then
chksum = chksum Mod 43
temp = temp & BC(chksum) & '0'
chkchr = Mid$('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%*', chksum + 1, 1)
End If
'Add Start & Stop characters (must have 'em for valid barcodes)
temp = BC(43) & '0' & temp & BC(43)
'Generate Barcode
For x = 1 To Len(temp)
If x Mod 2 = 0 Then
'SPACE
pos = pos + 1 + (2 * Val(Mid$(temp, x, 1))) + Check1(0).Value
Else
'BAR
For y = 1 To 1 + (2 * Val(Mid$(temp, x, 1)))
Picture1.Line (pos, 1)-(pos, 58 - Check1(1) * 8)
pos = pos + 1
Next
End If
Next

'Add Label?
If Check1(1).Value Then
Picture1.CurrentX = 35 + Len(Bardata) * (5 + Check1(0).Value * 2) 'kinda center
Picture1.CurrentY = 50
Picture1.Print Bardata & chkchr;
End If
End Sub


Private Sub makei25()
Dim x As Long, y As Long, pos As Long
Dim Bardata As String
Dim Cur As String
Dim temp As String
Dim chksum As Long
Dim BC(11) As String
'2 of the 5 elements are wide: 0=narrow, 1=wide
BC(0) = '00110' '0
BC(1) = '10001' '1
BC(2) = '01001' '2
BC(3) = '11000' '3
BC(4) = '00101' '4
BC(5) = '10100' '5
BC(6) = '01100' '6
BC(7) = '00011' '7
BC(8) = '10010' '8
BC(9) = '01010' '9
BC(10) = '0000' 'Start chr
BC(11) = '100' 'Stop chr
Picture1.Cls
If Text1.Text = ' Then Exit Sub
pos = 20
Bardata = Text1.Text
'make even num of digits by adding a leading 0
If Len(Bardata) Mod 2 And Not Check1(2).Value Then Bardata = '0' & Bardata
If Not (Len(Bardata) Mod 2) And Check1(2).Value Then Bardata = '0' & Bardata
'Check for invalid characters and calculate check sum
For x = 1 To Len(Bardata)
Cur = Mid$(Bardata, x, 1)
If Cur < '0' Or Cur > '9' Then
Picture1.Print Cur & ' is Invalid'
Exit Sub
End If
'make checksum
If x Mod 2 Then
chksum = chksum + CLng(Cur) * 3
Else
chksum = chksum + CLng(Cur)
End If
Next
'add check chr to bardata (if selected)
If Check1(2).Value Then
chksum = (10 - chksum Mod 10) Mod 10
Bardata = Bardata & Chr$(48 + chksum)
End If
'interleave the code into a temp string - what'd you think the name meant?
For x = 1 To Len(Bardata) Step 2
For y = 1 To 5
temp = temp & Mid$(BC(Val(Mid$(Bardata, x, 1))), y, 1)
temp = temp & Mid$(BC(Val(Mid$(Bardata, x + 1, 1))), y, 1)
Next
Next
'add Start & Stop characters
temp = BC(10) & temp & BC(11)
'Generate Barcode
For x = 1 To Len(temp)
If x Mod 2 = 0 Then
'SPACE
pos = pos + 1 + (2 * Val(Mid$(temp, x, 1))) + Check1(0).Value
Else
'BAR
For y = 1 To 1 + (2 * Val(Mid$(temp, x, 1)))
Picture1.Line (pos, 1)-(pos, 58 - Check1(1) * 8)
pos = pos + 1
Next
End If
Next

'Add Label?
If Check1(1).Value Then
Picture1.CurrentX = 20 + Len(Bardata) * (2 + Check1(0).Value * 1.3) 'kinda center
Picture1.CurrentY = 50
Picture1.Print Bardata;
End If
End Sub


Private Sub make128()
Dim x As Long, y As Long, pos As Long
Dim Bardata As String
Dim Cur As String
Dim CurVal As Long
Dim chksum As Long
Dim temp As String
Dim BC(106) As String
'code 128 is basically the ASCII chr set.
'4 element sizes : 1=narrowest, 4=widest
BC(0) = '212222' '
BC(1) = '222122' '!
BC(2) = '222221' '
BC(3) = '121223' '#
BC(4) = '121322' '$
BC(5) = '131222' '%
BC(6) = '122213' '&
BC(7) = '122312' '
BC(8) = '132212' '(
BC(9) = '221213' ')
BC(10) = '221312' '*
BC(11) = '231212' '+
BC(12) = '112232' ',
BC(13) = '122132' '-
BC(14) = '122231' '.
BC(15) = '113222' '/
BC(16) = '123122' '0
BC(17) = '123221' '1
BC(18) = '223211' '2
BC(19) = '221132' '3
BC(20) = '221231' '4
BC(21) = '213212' '5
BC(22) = '223112' '6
BC(23) = '312131' '7
BC(24) = '311222' '8
BC(25) = '321122' '9
BC(26) = '321221' ':
BC(27) = '312212' ';
BC(28) = '322112' '<>
BC(31) = '212321' '?
BC(32) = '232121' '@
BC(33) = '111323' 'A
BC(34) = '131123' 'B
BC(35) = '131321' 'C
BC(36) = '112313' 'D
BC(37) = '132113' 'E
BC(38) = '132311' 'F
BC(39) = '211313' 'G
BC(40) = '231113' 'H
BC(41) = '231311' 'I
BC(42) = '112133' 'J
BC(43) = '112331' 'K
BC(44) = '132131' 'L
BC(45) = '113123' 'M
BC(46) = '113321' 'N
BC(47) = '133121' 'O
BC(48) = '313121' 'P
BC(49) = '211331' 'Q
BC(50) = '231131' 'R
BC(51) = '213113' 'S
BC(52) = '213311' 'T
BC(53) = '213131' 'U
BC(54) = '311123' 'V
BC(55) = '311321' 'W
BC(56) = '331121' 'X
BC(57) = '312113' 'Y
BC(58) = '312311' 'Z
BC(59) = '332111' '[
BC(60) = '314111' '
BC(61) = '221411' ']
BC(62) = '431111' '^
BC(63) = '111224' '_
BC(64) = '111422' '`
BC(65) = '121124' 'a
BC(66) = '121421' 'b
BC(67) = '141122' 'c
BC(68) = '141221' 'd
BC(69) = '112214' 'e
BC(70) = '112412' 'f
BC(71) = '122114' 'g
BC(72) = '122411' 'h
BC(73) = '142112' 'i
BC(74) = '142211' 'j
BC(75) = '241211' 'k
BC(76) = '221114' 'l
BC(77) = '413111' 'm
BC(78) = '241112' 'n
BC(79) = '134111' 'o
BC(80) = '111242' 'p
BC(81) = '121142' 'q
BC(82) = '121241' 'r
BC(83) = '114212' 's
BC(84) = '124112' 't
BC(85) = '124211' 'u
BC(86) = '411212' 'v
BC(87) = '421112' 'w
BC(88) = '421211' 'x
BC(89) = '212141' 'y
BC(90) = '214121' 'z
BC(91) = '412121' '{
BC(92) = '111143' '
BC(93) = '111341' '}
BC(94) = '131141' '~
BC(95) = '114113' ' *not used in this sub
BC(96) = '114311' 'FNC 3 *not used in this sub
BC(97) = '411113' 'FNC 2 *not used in this sub
BC(98) = '411311' 'SHIFT *not used in this sub
BC(99) = '113141' 'CODE C *not used in this sub
BC(100) = '114131' 'FNC 4 *not used in this sub
BC(101) = '311141' 'CODE A *not used in this sub
BC(102) = '411131' 'FNC 1 *not used in this sub
BC(103) = '211412' 'START A *not used in this sub
BC(104) = '211214' 'START B
BC(105) = '211232' 'START C *not used in this sub
BC(106) = '2331112' 'STOP

Picture1.Cls
If Text1.Text = ' Then Exit Sub
pos = 20
Bardata = Text1.Text

'Check for invalid characters, calculate check sum & build temp string
For x = 1 To Len(Bardata)
Cur = Mid$(Bardata, x, 1)
If Cur < ' ' Or Cur > '~' Then
Picture1.Print 'Invalid Character(s)'
Exit Sub
End If
CurVal = Asc(Cur) - 32
temp = temp + BC(CurVal)
chksum = chksum + CurVal * x
Next
'Add start, stop & check characters
chksum = (chksum + 104) Mod 103
temp = BC(104) & temp & BC(chksum) & BC(106)

'Generate Barcode
For x = 1 To Len(temp)
If x Mod 2 = 0 Then
'SPACE
pos = pos + (Val(Mid$(temp, x, 1))) + Check1(0).Value
Else
'BAR
For y = 1 To (Val(Mid$(temp, x, 1)))
Picture1.Line (pos, 1)-(pos, 58 - Check1(1) * 8)
pos = pos + 1
Next
End If
Next

'Add Label?
If Check1(1).Value Then
Picture1.CurrentX = 30 + Len(Bardata) * (3 + Check1(0).Value * 2) 'kinda center
Picture1.CurrentY = 50
Picture1.Print Bardata;
End If
End Sub


Private Sub makeCodabar()
Dim x As Long, y As Long, pos As Long
Dim Bardata As String
Dim Cur As String
Dim CurVal As Long
Dim temp As String
Dim BC(19) As String
'Codabar, also known as NW-7
BC(0) = '0000011' '0
BC(1) = '0000110' '1
BC(2) = '0001001' '2
BC(3) = '1100000' '3
BC(4) = '0010010' '4
BC(5) = '1000010' '5
BC(6) = '0100001' '6
BC(7) = '0100100' '7
BC(8) = '0110000' '8
BC(9) = '1001000' '9
BC(10) = '0001100' '-
BC(11) = '0011000' '$
BC(12) = '1000101' ':
BC(13) = '1010001' '/
BC(14) = '1010100' '.
BC(15) = '0010101' '+
BC(16) = '0011010' 'start/stop A
BC(17) = '0101001' 'start/stop B
BC(18) = '0001011' 'start/stop C
BC(19) = '0001110' 'start/stop D
Picture1.Cls
If Text1.Text = ' Then Exit Sub
pos = 20
Bardata = Text1.Text

For x = 1 To Len(Bardata)
Cur = Mid$(Bardata, x, 1)
Select Case Cur
Case '0' To '9'
CurVal = Val(Cur)
Case 'a' To 'd'
CurVal = Asc(Cur) - 81
Case '-'
CurVal = 10
Case '$'
CurVal = 11
Case ':'
CurVal = 12
Case '/'
CurVal = 13
Case '.'
CurVal = 14
Case '+'
CurVal = 15
Case Else 'oops!
Picture1.Print Cur & ' is Invalid'
Exit Sub
End Select
temp = temp & BC(CurVal) & '0' '0'= add intercharactor gap (1 narrow space)
Next

'Add Start & Stop characters (using 'A' for both here)
temp = BC(16) & '0' & temp & BC(16)
'Generate Barcode
For x = 1 To Len(temp)
If x Mod 2 = 0 Then
'SPACE
pos = pos + 1 + (2 * Val(Mid$(temp, x, 1))) + Check1(0).Value
Else
'BAR
For y = 1 To 1 + (2 * Val(Mid$(temp, x, 1)))
Picture1.Line (pos, 1)-(pos, 58 - Check1(1) * 8)
pos = pos + 1
Next
End If
Next

'Add Label?
If Check1(1).Value Then
Picture1.CurrentX = 30 + Len(Bardata) * (3 + Check1(0).Value * 2) 'kinda center
Picture1.CurrentY = 50
Picture1.Print Bardata;
End If
End Sub


Private Sub Form_Resize()
Picture1.Width = Form1.Width - 360
makeBC
End Sub


Private Sub Option1_Click(Index As Integer)
Select Case Index
Case 0
Check1(2).ToolTipText = 'Optional'
Check1(2).Value = 0
Check1(2).Enabled = True
Case 1
Check1(2).ToolTipText = 'Optional'
Check1(2).Value = 0
Check1(2).Enabled = True
Case 2
Check1(2).ToolTipText = 'Not optional'
Check1(2).Value = 1
Check1(2).Enabled = False
Case 3
Check1(2).ToolTipText = 'Not used'
Check1(2).Value = 0
Check1(2).Enabled = False
End Select
BCtype = Index
makeBC
End Sub


Private Sub Text1_Change()
makeBC
End Sub


Private Sub Check1_Click(Index As Integer)
makeBC
End Sub


Private Sub Command1_Click()
Clipboard.Clear
Clipboard.SetData Picture1.Image
End Sub

I am attempting to take a string and convert it into a code 128 barcode in vb.net. I am a novice programmer and was wondering what some people thought would be the best design practices for accomplishing this.

A simple google search has yielded a few seemingly free solutions to this.http://www.onbarcode.com/vb_net/code-128-generator.htmlfor example

I could also attempt to do this myself, but I'm not sure the exact method of converting strings into barcodes.I am going to keep looking into this but if someone knew this off the top of their head already it could save me some time.

Membuat Barcode Dengan Visual Basic

Thanks in advance

BrandonBrandon

5 Answers

If you don't want to write any code for string conversion in barcode and don't want to buy an external component, you can use the ItextSharp library ( http://sourceforge.net/projects/itextsharp/ ) which is in my opinion the simplest way to achieve your goal. You can find several resources online and on stackoverflow too for itextsharp, mostly in c# but also vb.net.

for barcode generation vb.net code you can have a look here:http://professionalaspnet.com/archive/2008/11/09/A-Quick-and-Dirty-Bar-Code-Image-httpHandler.aspx

fakeChinafakeChina

Have a look at the following codeproject page - Barcode Image Generation Library

This allows you to generate a barcode image in your desired format from a string.

Word

It should be enough to get you started

Matt WilkoMatt Wilko

The following examples are taken from

Generate barcode

Draw and Print

Yvette ColombYvette Colomb

You need to question your goal. That answer will drive your methodology.

  • Rapid development and completion
  • Learning experience
  • Cheap / free (sweat-equity excluded)

Your google link shows a product that displays sample code on that very page. What's wrong with that?

What is your target output? A report object, or will you print directly to the printer/label?

Donny McCoyDonny McCoy

You can generate and output the code128 images in VB programming with this code . Refer to the following Visual Basic sample code,you can try to generate code128 in vb.net.

VB Sample code

bobbell2bobbell2

protected by CommunityMar 26 at 19:04

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?

Cara Membuat Program Barcode Dengan Visual Basic

Not the answer you're looking for? Browse other questions tagged vb.netvisual-studio-2010barcodecode128 or ask your own question.

energylogix – 2019