20/08/2017, 21:17
EAN8, EAN13 ve EAN 128 Barkodlar hepsi aynı çalışmada...
23/08/2017, 03:43
mehmetdemiral
04/07/2019, 12:07
cozum
04/07/2019, 12:13
ozanakkaya
(04/07/2019, 12:07)cozum yazdı:(20/05/2014, 22:52)mehmetdemiral yazdı: Onunla ilgili araştırmalarımız sürüyor. Ozan'la bu akşam o konuda çalıştık biraz. Ama çok da kolay değil.merhaba.
ean kodlarını yazdırabiliceğimiz fonksiyon var mı eliniz de.
tüm makinalara font yüklenmesi çok zahmetli.
modüle den yazdırmak istiyorum.
Form veya Rapora Barkod Ekleme bağlantısındaki konuyu inceleyiniz.
05/07/2019, 17:23
cozum
merhaba.
mehmet bey
Code128 ve code39 Vba kodu mevcut.
bilginize.
Public Function Barcode_128(Ctrl As Control, rpt As Report)
On Error GoTo ErrorTrap_Barcode_128
'Code 128B has 5 main parts to it. The first part is a start character(211214), followed by DataCharcters. The Data
'Characters are followed by a check(or Checksum) Character, and that is followed by a stop Character(2331112)
'The last part of Code 128B is the two quiet sections at the front and back of the barcode. These are 10 dimensions
'Long(I am thinking that is 11 modules long). Each character is 11 modules long, except the stop character which is
'13 modules long
Dim CharNumber As Variant, CharData As Variant, CharBarData As Variant, Nratio As Variant, Nbar As Variant
Dim barcodestr As String, BarCode As Control, Barchar As String, Barcolor As Long, Parts As Integer, J As Integer
Dim tsum As Integer, lop As Integer, s As Integer, checksum As Integer, P As Integer, barwidth As Integer
Dim boxh As Single, boxw As Single, boxx As Single, boxy As Single, Pix As Single, Nextbar As Single
Const White = 16777215: Const Black = 0
'This is the Raw data that I threw into an arrays
CharNumber = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16,", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29,", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", "106")
CharData = Array("SP", "!", Chr(34), "#", "$", "%", "&", "'", "(", ")", "*", "+", ",", "-", ".", "/", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ":", ";", "<", "=", ">", "?", "@", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "[", "\", "]", "^", "_", "`", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "I", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "{", "|", "}", "~", "DEL", "FNC 3", "FNC 2", "SHIFT", "CODE C", "FNC 4", "CODE A", "FNC 1", "Start A", "Start B", "Start C", "Stop")
CharBarData = Array("212222", "222122", "222221", "121223", "121322", "131222", "122213", "122312", "132212", "221213", "221312", "231212", "112232", "122132", "122231", "113222", "123122", "123221", "223211", "221132", "221231", "213212", "223112", "312131", "311222", "321122", "321221", "312212", "322112", "322211", "212123", "212321", "232121", "111323", "131123", "131321", "112313", "132113", "132311", "211313", "231113", "231311", "112133", "112331", "132131", "113123", "113321", "133121", "313121", "211331", "231131", "213113", "213311", "213131", "311123", "311321", "331121", "312113", "312311", "332111", "314111", "221411", "431111", "111224", "111422", "121124", "121421", "141122", "141221", "112214", "112412", "122114", "122411", "142112", "142211", "241211", "221114", "413111", "241112", "134111", "111242", "121142", "121241", "114212", "124112", "124211", "411212", "421112", "421211", "212141", _
"214121", "412121", "111143", "111341", "131141", "114113", "114311", "411113", "411311", "113141", "114131", "311141", "411131", "211412", "211214", "211232", "2331112")
barcodestr = "211214" 'Add the Startcode for Start B (characterset B) to the barcode string
tsum = 104 'And this is the value for that startcode which will be added with the other character values to find the checksum character
boxx = Ctrl.Left: boxy = Ctrl.Top: boxw = Ctrl.Width: boxh = Ctrl.Height 'Get control size and location properties.
Set BarCode = Ctrl 'Set handle on control.
Nratio = Array("0", "15", "30", "45", "60") 'Set up the array for the different bar width ratios
Parts = ((11 * (Len(BarCode))) + 35) * Nratio(1) 'This is the formula for the width of the barcode
Pix = (boxw / Parts) 'Here I find out exactly how many Pixels a bar will be
Nbar = Array((Nratio(0) * Pix), (Nratio(1) * Pix), (Nratio(2) * Pix), (Nratio(3) * Pix), (Nratio(4) * Pix)) 'Set up the array to handle the pixels for each type of bar
'Loop through all bardata to count the sum for all characters and add barcode charcter strings to the barcode string
For lop = 1 To Len(BarCode)
Barchar = Mid(BarCode, lop, 1)
If Barchar = " " Then Barchar = "SP"
For s = 0 To UBound(CharData)
If Barchar = CharData(s) Then
barcodestr = barcodestr & CharBarData(s) 'This is where I added the character strings to each other to make one long string of 1's, 2's, 3's, & 4's
tsum = tsum + (CLng(CharNumber(s)) * lop) 'Here every barcode character's number value is multiplied by its position in the line and added to tsum
'The actual formula for find the the Checksum is "(104 + (1 * CharcterNumber) + (2 * CharcterNumber) + ...)/103" You would Use the Remainder as
'The Checksum Character. In the case of "BarCode 1" the formula would look
'like "(104+(1*34)+(2*65)+(3*82)+(4*35)+(5*79)+(6*68)+(7*69)+(8*0)+(9*17))/103=20 with Remainder of 33" Therefore the checksum would equal 33
Exit For
End If
Next s
Next lop
checksum = tsum - (Int(tsum / 103) * 103) 'Here I use the the totat sum (tsum) to find the checksum
barcodestr = barcodestr & CharBarData(checksum) & "2331112" 'Here I add the checksum then the stop character into the barcode string
'lets do some initialization
Barcolor = Black
Nextbar = boxx + 11 'I added the 20 for the whitespace (or quiet space) at the beginning of the barcode
'Draw the Barcode
For J = 1 To Len(barcodestr)
Barchar = Mid(barcodestr, J, 1) 'Reuse variable barchar to store the character to be drawn
barwidth = CInt(Barchar) 'Change the barcode charcter into an integer so I can use in the array part of the next line
rpt.Line (Nextbar, boxy)-Step(Nbar(barwidth), boxh), Barcolor, BF 'Draw the line
Nextbar = Nextbar + Nbar(barwidth) 'Calculate the next starting point
If Barcolor = White Then Barcolor = Black Else Barcolor = White 'Swap line colors
Next J
Exit_Barcode_128:
Exit Function
ErrorTrap_Barcode_128:
MsgBox Error$
Resume Exit_Barcode_128
End Function
Public Function Barcode_128_f(Ctrl As Control, rpt As Form)
On Error GoTo ErrorTrap_Barcode_128
'Code 128B has 5 main parts to it. The first part is a start character(211214), followed by DataCharcters. The Data
'Characters are followed by a check(or Checksum) Character, and that is followed by a stop Character(2331112)
'The last part of Code 128B is the two quiet sections at the front and back of the barcode. These are 10 dimensions
'Long(I am thinking that is 11 modules long). Each character is 11 modules long, except the stop character which is
'13 modules long
Dim CharNumber As Variant, CharData As Variant, CharBarData As Variant, Nratio As Variant, Nbar As Variant
Dim barcodestr As String, BarCode As Control, Barchar As String, Barcolor As Long, Parts As Integer, J As Integer
Dim tsum As Integer, lop As Integer, s As Integer, checksum As Integer, P As Integer, barwidth As Integer
Dim boxh As Single, boxw As Single, boxx As Single, boxy As Single, Pix As Single, Nextbar As Single
Const White = 16777215: Const Black = 0
'This is the Raw data that I threw into an arrays
CharNumber = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16,", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29,", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", "106")
CharData = Array("SP", "!", Chr(34), "#", "$", "%", "&", "'", "(", ")", "*", "+", ",", "-", ".", "/", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ":", ";", "<", "=", ">", "?", "@", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "[", "\", "]", "^", "_", "`", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "I", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "{", "|", "}", "~", "DEL", "FNC 3", "FNC 2", "SHIFT", "CODE C", "FNC 4", "CODE A", "FNC 1", "Start A", "Start B", "Start C", "Stop")
CharBarData = Array("212222", "222122", "222221", "121223", "121322", "131222", "122213", "122312", "132212", "221213", "221312", "231212", "112232", "122132", "122231", "113222", "123122", "123221", "223211", "221132", "221231", "213212", "223112", "312131", "311222", "321122", "321221", "312212", "322112", "322211", "212123", "212321", "232121", "111323", "131123", "131321", "112313", "132113", "132311", "211313", "231113", "231311", "112133", "112331", "132131", "113123", "113321", "133121", "313121", "211331", "231131", "213113", "213311", "213131", "311123", "311321", "331121", "312113", "312311", "332111", "314111", "221411", "431111", "111224", "111422", "121124", "121421", "141122", "141221", "112214", "112412", "122114", "122411", "142112", "142211", "241211", "221114", "413111", "241112", "134111", "111242", "121142", "121241", "114212", "124112", "124211", "411212", "421112", "421211", "212141", _
"214121", "412121", "111143", "111341", "131141", "114113", "114311", "411113", "411311", "113141", "114131", "311141", "411131", "211412", "211214", "211232", "2331112")
barcodestr = "211214" 'Add the Startcode for Start B (characterset B) to the barcode string
tsum = 104 'And this is the value for that startcode which will be added with the other character values to find the checksum character
boxx = Ctrl.Left: boxy = Ctrl.Top: boxw = Ctrl.Width: boxh = Ctrl.Height 'Get control size and location properties.
Set BarCode = Ctrl 'Set handle on control.
Nratio = Array("0", "15", "30", "45", "60") 'Set up the array for the different bar width ratios
Parts = ((11 * (Len(BarCode))) + 35) * Nratio(1) 'This is the formula for the width of the barcode
Pix = (boxw / Parts) 'Here I find out exactly how many Pixels a bar will be
Nbar = Array((Nratio(0) * Pix), (Nratio(1) * Pix), (Nratio(2) * Pix), (Nratio(3) * Pix), (Nratio(4) * Pix)) 'Set up the array to handle the pixels for each type of bar
'Loop through all bardata to count the sum for all characters and add barcode charcter strings to the barcode string
For lop = 1 To Len(BarCode)
Barchar = Mid(BarCode, lop, 1)
If Barchar = " " Then Barchar = "SP"
For s = 0 To UBound(CharData)
If Barchar = CharData(s) Then
barcodestr = barcodestr & CharBarData(s) 'This is where I added the character strings to each other to make one long string of 1's, 2's, 3's, & 4's
tsum = tsum + (CLng(CharNumber(s)) * lop) 'Here every barcode character's number value is multiplied by its position in the line and added to tsum
'The actual formula for find the the Checksum is "(104 + (1 * CharcterNumber) + (2 * CharcterNumber) + ...)/103" You would Use the Remainder as
'The Checksum Character. In the case of "BarCode 1" the formula would look
'like "(104+(1*34)+(2*65)+(3*82)+(4*35)+(5*79)+(6*68)+(7*69)+(8*0)+(9*17))/103=20 with Remainder of 33" Therefore the checksum would equal 33
Exit For
End If
Next s
Next lop
checksum = tsum - (Int(tsum / 103) * 103) 'Here I use the the totat sum (tsum) to find the checksum
barcodestr = barcodestr & CharBarData(checksum) & "2331112" 'Here I add the checksum then the stop character into the barcode string
'lets do some initialization
Barcolor = Black
Nextbar = boxx + 11 'I added the 20 for the whitespace (or quiet space) at the beginning of the barcode
'Draw the Barcode
For J = 1 To Len(barcodestr)
Barchar = Mid(barcodestr, J, 1) 'Reuse variable barchar to store the character to be drawn
barwidth = CInt(Barchar) 'Change the barcode charcter into an integer so I can use in the array part of the next line
rpt.Line (Nextbar, boxy)-Step(Nbar(barwidth), boxh), Barcolor, BF 'Draw the line
Nextbar = Nextbar + Nbar(barwidth) 'Calculate the next starting point
If Barcolor = White Then Barcolor = Black Else Barcolor = White 'Swap line colors
Next J
Exit_Barcode_128:
Exit Function
ErrorTrap_Barcode_128:
MsgBox Error$
Resume Exit_Barcode_128
End Function
'kullanımı:
'Option Compare Database
'Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
'Dim Result As Boolean
''Result = SetBarData(BarCode, Me) Barcode_128-----
'Result = Barcode_128(Me.BarCode, Me)
''Result = Barcode_128(Me.Code, Me)------
'End Sub
mehmet bey
Code128 ve code39 Vba kodu mevcut.
bilginize.
Public Function Barcode_128(Ctrl As Control, rpt As Report)
On Error GoTo ErrorTrap_Barcode_128
'Code 128B has 5 main parts to it. The first part is a start character(211214), followed by DataCharcters. The Data
'Characters are followed by a check(or Checksum) Character, and that is followed by a stop Character(2331112)
'The last part of Code 128B is the two quiet sections at the front and back of the barcode. These are 10 dimensions
'Long(I am thinking that is 11 modules long). Each character is 11 modules long, except the stop character which is
'13 modules long
Dim CharNumber As Variant, CharData As Variant, CharBarData As Variant, Nratio As Variant, Nbar As Variant
Dim barcodestr As String, BarCode As Control, Barchar As String, Barcolor As Long, Parts As Integer, J As Integer
Dim tsum As Integer, lop As Integer, s As Integer, checksum As Integer, P As Integer, barwidth As Integer
Dim boxh As Single, boxw As Single, boxx As Single, boxy As Single, Pix As Single, Nextbar As Single
Const White = 16777215: Const Black = 0
'This is the Raw data that I threw into an arrays
CharNumber = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16,", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29,", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", "106")
CharData = Array("SP", "!", Chr(34), "#", "$", "%", "&", "'", "(", ")", "*", "+", ",", "-", ".", "/", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ":", ";", "<", "=", ">", "?", "@", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "[", "\", "]", "^", "_", "`", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "I", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "{", "|", "}", "~", "DEL", "FNC 3", "FNC 2", "SHIFT", "CODE C", "FNC 4", "CODE A", "FNC 1", "Start A", "Start B", "Start C", "Stop")
CharBarData = Array("212222", "222122", "222221", "121223", "121322", "131222", "122213", "122312", "132212", "221213", "221312", "231212", "112232", "122132", "122231", "113222", "123122", "123221", "223211", "221132", "221231", "213212", "223112", "312131", "311222", "321122", "321221", "312212", "322112", "322211", "212123", "212321", "232121", "111323", "131123", "131321", "112313", "132113", "132311", "211313", "231113", "231311", "112133", "112331", "132131", "113123", "113321", "133121", "313121", "211331", "231131", "213113", "213311", "213131", "311123", "311321", "331121", "312113", "312311", "332111", "314111", "221411", "431111", "111224", "111422", "121124", "121421", "141122", "141221", "112214", "112412", "122114", "122411", "142112", "142211", "241211", "221114", "413111", "241112", "134111", "111242", "121142", "121241", "114212", "124112", "124211", "411212", "421112", "421211", "212141", _
"214121", "412121", "111143", "111341", "131141", "114113", "114311", "411113", "411311", "113141", "114131", "311141", "411131", "211412", "211214", "211232", "2331112")
barcodestr = "211214" 'Add the Startcode for Start B (characterset B) to the barcode string
tsum = 104 'And this is the value for that startcode which will be added with the other character values to find the checksum character
boxx = Ctrl.Left: boxy = Ctrl.Top: boxw = Ctrl.Width: boxh = Ctrl.Height 'Get control size and location properties.
Set BarCode = Ctrl 'Set handle on control.
Nratio = Array("0", "15", "30", "45", "60") 'Set up the array for the different bar width ratios
Parts = ((11 * (Len(BarCode))) + 35) * Nratio(1) 'This is the formula for the width of the barcode
Pix = (boxw / Parts) 'Here I find out exactly how many Pixels a bar will be
Nbar = Array((Nratio(0) * Pix), (Nratio(1) * Pix), (Nratio(2) * Pix), (Nratio(3) * Pix), (Nratio(4) * Pix)) 'Set up the array to handle the pixels for each type of bar
'Loop through all bardata to count the sum for all characters and add barcode charcter strings to the barcode string
For lop = 1 To Len(BarCode)
Barchar = Mid(BarCode, lop, 1)
If Barchar = " " Then Barchar = "SP"
For s = 0 To UBound(CharData)
If Barchar = CharData(s) Then
barcodestr = barcodestr & CharBarData(s) 'This is where I added the character strings to each other to make one long string of 1's, 2's, 3's, & 4's
tsum = tsum + (CLng(CharNumber(s)) * lop) 'Here every barcode character's number value is multiplied by its position in the line and added to tsum
'The actual formula for find the the Checksum is "(104 + (1 * CharcterNumber) + (2 * CharcterNumber) + ...)/103" You would Use the Remainder as
'The Checksum Character. In the case of "BarCode 1" the formula would look
'like "(104+(1*34)+(2*65)+(3*82)+(4*35)+(5*79)+(6*68)+(7*69)+(8*0)+(9*17))/103=20 with Remainder of 33" Therefore the checksum would equal 33
Exit For
End If
Next s
Next lop
checksum = tsum - (Int(tsum / 103) * 103) 'Here I use the the totat sum (tsum) to find the checksum
barcodestr = barcodestr & CharBarData(checksum) & "2331112" 'Here I add the checksum then the stop character into the barcode string
'lets do some initialization
Barcolor = Black
Nextbar = boxx + 11 'I added the 20 for the whitespace (or quiet space) at the beginning of the barcode
'Draw the Barcode
For J = 1 To Len(barcodestr)
Barchar = Mid(barcodestr, J, 1) 'Reuse variable barchar to store the character to be drawn
barwidth = CInt(Barchar) 'Change the barcode charcter into an integer so I can use in the array part of the next line
rpt.Line (Nextbar, boxy)-Step(Nbar(barwidth), boxh), Barcolor, BF 'Draw the line
Nextbar = Nextbar + Nbar(barwidth) 'Calculate the next starting point
If Barcolor = White Then Barcolor = Black Else Barcolor = White 'Swap line colors
Next J
Exit_Barcode_128:
Exit Function
ErrorTrap_Barcode_128:
MsgBox Error$
Resume Exit_Barcode_128
End Function
Public Function Barcode_128_f(Ctrl As Control, rpt As Form)
On Error GoTo ErrorTrap_Barcode_128
'Code 128B has 5 main parts to it. The first part is a start character(211214), followed by DataCharcters. The Data
'Characters are followed by a check(or Checksum) Character, and that is followed by a stop Character(2331112)
'The last part of Code 128B is the two quiet sections at the front and back of the barcode. These are 10 dimensions
'Long(I am thinking that is 11 modules long). Each character is 11 modules long, except the stop character which is
'13 modules long
Dim CharNumber As Variant, CharData As Variant, CharBarData As Variant, Nratio As Variant, Nbar As Variant
Dim barcodestr As String, BarCode As Control, Barchar As String, Barcolor As Long, Parts As Integer, J As Integer
Dim tsum As Integer, lop As Integer, s As Integer, checksum As Integer, P As Integer, barwidth As Integer
Dim boxh As Single, boxw As Single, boxx As Single, boxy As Single, Pix As Single, Nextbar As Single
Const White = 16777215: Const Black = 0
'This is the Raw data that I threw into an arrays
CharNumber = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16,", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29,", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", "106")
CharData = Array("SP", "!", Chr(34), "#", "$", "%", "&", "'", "(", ")", "*", "+", ",", "-", ".", "/", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ":", ";", "<", "=", ">", "?", "@", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "[", "\", "]", "^", "_", "`", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "I", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "{", "|", "}", "~", "DEL", "FNC 3", "FNC 2", "SHIFT", "CODE C", "FNC 4", "CODE A", "FNC 1", "Start A", "Start B", "Start C", "Stop")
CharBarData = Array("212222", "222122", "222221", "121223", "121322", "131222", "122213", "122312", "132212", "221213", "221312", "231212", "112232", "122132", "122231", "113222", "123122", "123221", "223211", "221132", "221231", "213212", "223112", "312131", "311222", "321122", "321221", "312212", "322112", "322211", "212123", "212321", "232121", "111323", "131123", "131321", "112313", "132113", "132311", "211313", "231113", "231311", "112133", "112331", "132131", "113123", "113321", "133121", "313121", "211331", "231131", "213113", "213311", "213131", "311123", "311321", "331121", "312113", "312311", "332111", "314111", "221411", "431111", "111224", "111422", "121124", "121421", "141122", "141221", "112214", "112412", "122114", "122411", "142112", "142211", "241211", "221114", "413111", "241112", "134111", "111242", "121142", "121241", "114212", "124112", "124211", "411212", "421112", "421211", "212141", _
"214121", "412121", "111143", "111341", "131141", "114113", "114311", "411113", "411311", "113141", "114131", "311141", "411131", "211412", "211214", "211232", "2331112")
barcodestr = "211214" 'Add the Startcode for Start B (characterset B) to the barcode string
tsum = 104 'And this is the value for that startcode which will be added with the other character values to find the checksum character
boxx = Ctrl.Left: boxy = Ctrl.Top: boxw = Ctrl.Width: boxh = Ctrl.Height 'Get control size and location properties.
Set BarCode = Ctrl 'Set handle on control.
Nratio = Array("0", "15", "30", "45", "60") 'Set up the array for the different bar width ratios
Parts = ((11 * (Len(BarCode))) + 35) * Nratio(1) 'This is the formula for the width of the barcode
Pix = (boxw / Parts) 'Here I find out exactly how many Pixels a bar will be
Nbar = Array((Nratio(0) * Pix), (Nratio(1) * Pix), (Nratio(2) * Pix), (Nratio(3) * Pix), (Nratio(4) * Pix)) 'Set up the array to handle the pixels for each type of bar
'Loop through all bardata to count the sum for all characters and add barcode charcter strings to the barcode string
For lop = 1 To Len(BarCode)
Barchar = Mid(BarCode, lop, 1)
If Barchar = " " Then Barchar = "SP"
For s = 0 To UBound(CharData)
If Barchar = CharData(s) Then
barcodestr = barcodestr & CharBarData(s) 'This is where I added the character strings to each other to make one long string of 1's, 2's, 3's, & 4's
tsum = tsum + (CLng(CharNumber(s)) * lop) 'Here every barcode character's number value is multiplied by its position in the line and added to tsum
'The actual formula for find the the Checksum is "(104 + (1 * CharcterNumber) + (2 * CharcterNumber) + ...)/103" You would Use the Remainder as
'The Checksum Character. In the case of "BarCode 1" the formula would look
'like "(104+(1*34)+(2*65)+(3*82)+(4*35)+(5*79)+(6*68)+(7*69)+(8*0)+(9*17))/103=20 with Remainder of 33" Therefore the checksum would equal 33
Exit For
End If
Next s
Next lop
checksum = tsum - (Int(tsum / 103) * 103) 'Here I use the the totat sum (tsum) to find the checksum
barcodestr = barcodestr & CharBarData(checksum) & "2331112" 'Here I add the checksum then the stop character into the barcode string
'lets do some initialization
Barcolor = Black
Nextbar = boxx + 11 'I added the 20 for the whitespace (or quiet space) at the beginning of the barcode
'Draw the Barcode
For J = 1 To Len(barcodestr)
Barchar = Mid(barcodestr, J, 1) 'Reuse variable barchar to store the character to be drawn
barwidth = CInt(Barchar) 'Change the barcode charcter into an integer so I can use in the array part of the next line
rpt.Line (Nextbar, boxy)-Step(Nbar(barwidth), boxh), Barcolor, BF 'Draw the line
Nextbar = Nextbar + Nbar(barwidth) 'Calculate the next starting point
If Barcolor = White Then Barcolor = Black Else Barcolor = White 'Swap line colors
Next J
Exit_Barcode_128:
Exit Function
ErrorTrap_Barcode_128:
MsgBox Error$
Resume Exit_Barcode_128
End Function
'kullanımı:
'Option Compare Database
'Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
'Dim Result As Boolean
''Result = SetBarData(BarCode, Me) Barcode_128-----
'Result = Barcode_128(Me.BarCode, Me)
''Result = Barcode_128(Me.Code, Me)------
'End Sub
06/07/2019, 16:08
mehmetdemiral
Teşekkürler.