El post que buscas se encuentra eliminado, pero este también te puede interesar

Dibujar Codigo de Barra con VB6 (Bar Code)

Anuncios

Les dejo algo que encontre y me parecio muy interesante...



Me uno al club de FAQs.
Aquí les envío un código de cómo generar códigos de barra
les puede servir mucho en lo que es codificación o rotulación de productos.

El codigo a continuación tiene un Procedimiento llamado
DrawBarCode, el cual recibe el codigo del item, la descripción del mismo y un control PictureBox, el cual contendrá el codigo de barras.

Sólo debes diseñar un form con 3 controles (2 textBox y 1 PictureBox), luego
ejecutas

Call DrawBarcode(codigo_item, Descripcion_item, PictureBox)

Atentamente,
Darwin Alvarado Marin
Machala - El Oro - Ecuado

Sub DrawBarcode(ByVal bc_string As String, sDescripcion As String, VLPrecio as String, obj As Control)

Dim xpos!, y1!, y2!, dw%, th!, tw, new_string$
Dim bc(90) As String
Dim sAux As String
Dim I As Byte

bc(1) = "1 1221" 'pre-amble
bc(2) = "1 1221" 'post-amble
bc(48) = "11 221" 'dígitos
bc(49) = "21 112"
bc(50) = "12 112"
bc(51) = "22 111"
bc(52) = "11 212"
bc(53) = "21 211"
bc(54) = "12 211"
bc(55) = "11 122"
bc(56) = "21 121"
bc(57) = "12 121"
'Letras Mayúsculas
bc(65) = "211 12" 'A
bc(66) = "121 12" 'B
bc(67) = "221 11" 'C
bc(68) = "112 12" 'D
bc(69) = "212 11" 'E
bc(70) = "122 11" 'F
bc(71) = "111 22" 'G
bc(72) = "211 21" 'H
bc(73) = "121 21" 'I
bc(74) = "112 21" 'J
bc(75) = "2111 2" 'K
bc(76) = "1211 2" 'L
bc(77) = "2211 1" 'M
bc(78) = "1121 2" 'N
bc(79) = "2121 1" 'O
bc(80) = "1221 1" 'P
bc(81) = "1112 2" 'Q
bc(82) = "2112 1" 'R
bc(83) = "1212 1" 'S
bc(84) = "1122 1" 'T
bc(85) = "2 1112" 'U
bc(86) = "1 2112" 'V
bc(87) = "2 2111" 'W
bc(88) = "1 1212" 'X
bc(89) = "2 1211" 'Y
bc(90) = "1 2211" 'Z
'Misceláneos Caracteres
bc(32) = "1 2121" 'Espacio
bc(35) = "" '# no se puede realizar
bc(36) = "1 1 1 11" '$
bc(37) = "11 1 1 1" '%
bc(43) = "1 11 1 1" '+
bc(45) = "1 1122" '-
bc(47) = "1 1 11 1" '/
bc(46) = "2 1121" '.
bc(64) = "" '@ no se puede realizar
bc(65) = "1 1221" '*

bc_string = UCase(bc_string) 'Convertir a mayúsculas

'Dimensiones
obj.ScaleMode = 2 'Pixeles
obj.Cls
obj.Picture = Nothing
dw = CInt(obj.ScaleHeight / 40) 'Espacio entre barras
If dw < 1 Then dw = 1
th = obj.TextHeight(bc_string) 'Alto texto
tw = obj.TextWidth(bc_string) 'Ancho texto
new_string = Chr$(1) & bc_string & Chr$(2) 'Agregar pre-amble, post-amble
y1 = obj.ScaleTop + 12
y2 = obj.ScaleTop + obj.ScaleHeight - 1.5 * th
obj.Width = 1.1 * Len(new_string) * (15 * dw) * obj.Width / obj.ScaleWidth

'Dibujar cada caracter en el string barcode
xpos = obj.ScaleLeft
For n = 1 To Len(new_string)
c = Asc(Mid(new_string, n, 1))
If c > 90 Then c = 0
bc_pattern$ = bc(c)
'Dibujar cada barra
For I = 1 To Len(bc_pattern$)
Select Case Mid(bc_pattern$, I, 1)
Case " "
'Espacio
obj.Line (xpos, y1)-(xpos + 1 * dw, y2), &HFFFFFF, BF
xpos = xpos + dw
Case "1"
'Espacio
obj.Line (xpos, y1)-(xpos + 1 * dw, y2), &HFFFFFF, BF
xpos = xpos + dw
'Línea
obj.Line (xpos, y1)-(xpos + 1 * dw, y2), &H0&, BF
xpos = xpos + dw
Case "2"
'Espacio
obj.Line (xpos, y1)-(xpos + 1 * dw, y2), &HFFFFFF, BF
xpos = xpos + dw
'Ancho línea
obj.Line (xpos, y1)-(xpos + 2 * dw, y2), &H0&, BF
xpos = xpos + 2 * dw
End Select
Next
Next

'Mas espacio
obj.Line (xpos, y1)-(xpos + 1 * dw, y2), &HFFFFFF, BF
xpos = xpos + dw

'Medida final y tamaño
obj.Width = (xpos + dw) * obj.Width / obj.ScaleWidth
obj.CurrentX = 1
obj.CurrentY = 1
If VLPrecio = "0.00" Then VLPrecio = ""
If xpos - obj.TextWidth(VLPrecio) - 10 < obj.TextWidth(sDescripcion) Then
sAux = ""
For I = 1 To Len(sDescripcion)
If xpos - obj.TextWidth(VLPrecio) - 10 < obj.TextWidth(sAux) Then
Exit For
Else
sAux = sAux & Mid(sDescripcion, I, 1)
End If
Next I
obj.Print sAux
Else
obj.Print sDescripcion
End If
obj.CurrentX = xpos - obj.TextWidth(VLPrecio)
obj.CurrentY = 1
obj.Print VLPrecio
obj.CurrentX = (obj.ScaleWidth - tw) / 2
obj.CurrentY = y2 + 0.25 * th
obj.Print bc_string

'Copiar a clipboard
obj.Picture = obj.Image
Clipboard.Clear
Clipboard.SetData obj.Image, 2
End Sub




FUENTE:http://www.forosdelweb.com/807087-post24.html


Que lo disfruten...

Comentar es Agradecer!!!

Anuncios

10 comentarios - Dibujar Codigo de Barra con VB6 (Bar Code)

@snick -1
fuera de joda, alguien entiende esto¿?
@RodolfoGS
snick dijo:fuera de joda, alguien entiende esto¿?


si yo, es el codigo fuente



y esta muy bueno, no sirve para una mierda pero esta bueno. toma unos puntines
@elitoqac
Muy bueno che, no creo que lo utilice peeero estará presente por si las moscas vió?
@Valvulin
Attribute VB_Name = \&quot;ModuleBarcode\&quot;

Sub DrawBarcode(ByVal bc_string As String, obj As Control)



Dim xpos!, y1!, y2!, dw%, th!, tw, new_string$



\'define barcode patterns

Dim bc(90) As String

bc(1) = \&quot;1 1221\&quot; \'pre-amble

bc(2) = \&quot;1 1221\&quot; \'post-amble

bc(48) = \&quot;11 221\&quot; \'digits

bc(49) = \&quot;21 112\&quot;

bc(50) = \&quot;12 112\&quot;

bc(51) = \&quot;22 111\&quot;

bc(52) = \&quot;11 212\&quot;

bc(53) = \&quot;21 211\&quot;

bc(54) = \&quot;12 211\&quot;

bc(55) = \&quot;11 122\&quot;

bc(56) = \&quot;21 121\&quot;

bc(57) = \&quot;12 121\&quot;

\'capital letters

bc(65) = \&quot;211 12\&quot; \'A

bc(66) = \&quot;121 12\&quot; \'B

bc(67) = \&quot;221 11\&quot; \'C

bc(68) = \&quot;112 12\&quot; \'D

bc(69) = \&quot;212 11\&quot; \'E

bc(70) = \&quot;122 11\&quot; \'F

bc(71) = \&quot;111 22\&quot; \'G

bc(72) = \&quot;211 21\&quot; \'H

bc(73) = \&quot;121 21\&quot; \'I

bc(74) = \&quot;112 21\&quot; \'J

bc(75) = \&quot;2111 2\&quot; \'K

bc(76) = \&quot;1211 2\&quot; \'L

bc(77) = \&quot;2211 1\&quot; \'M

bc(78) = \&quot;1121 2\&quot; \'N

bc(79) = \&quot;2121 1\&quot; \'O

bc(80) = \&quot;1221 1\&quot; \'P

bc(81) = \&quot;1112 2\&quot; \'Q

bc(82) = \&quot;2112 1\&quot; \'R

bc(83) = \&quot;1212 1\&quot; \'S

bc(84) = \&quot;1122 1\&quot; \'T

bc(85) = \&quot;2 1112\&quot; \'U

bc(86) = \&quot;1 2112\&quot; \'V

bc(87) = \&quot;2 2111\&quot; \'W

bc(88) = \&quot;1 1212\&quot; \'X

bc(89) = \&quot;2 1211\&quot; \'Y

bc(90) = \&quot;1 2211\&quot; \'Z

\'Misc

bc(32) = \&quot;1 2121\&quot; \'space

bc(35) = \&quot;\&quot; \'# cannot do!

bc(36) = \&quot;1 1 1 11\&quot; \'$

bc(37) = \&quot;11 1 1 1\&quot; \'%

bc(43) = \&quot;1 11 1 1\&quot; \'+

bc(45) = \&quot;1 1122\&quot; \'-

bc(47) = \&quot;1 1 11 1\&quot; \'/

bc(46) = \&quot;2 1121\&quot; \'.

bc(64) = \&quot;\&quot; \'@ cannot do!

bc(65) = \&quot;1 1221\&quot; \'*







bc_string = UCase(bc_string)





\'dimensions

obj.ScaleMode = 3 \'pixels

obj.Cls

obj.Picture = Nothing

dw = CInt(obj.ScaleHeight / 40) \'space between bars

If dw &lt; 1 Then dw = 1

\'Debug.Print dw

th = obj.TextHeight(bc_string) \'text height

tw = obj.TextWidth(bc_string) \'text width

new_string = Chr$(1) &amp; bc_string &amp; Chr$(2) \'add pre-amble, post-amble



y1 = obj.ScaleTop

y2 = obj.ScaleTop + obj.ScaleHeight - 1.5 * th

obj.Width = 1.1 * Len(new_string) * (15 * dw) * obj.Width / obj.ScaleWidth





\'draw each character in barcode string

xpos = obj.ScaleLeft

For n = 1 To Len(new_string)

c = Asc(Mid$(new_string, n, 1))

If c &gt; 90 Then c = 0

bc_pattern$ = bc(c)



\'draw each bar

For i = 1 To Len(bc_pattern$)

Select Case Mid$(bc_pattern$, i, 1)

Case \&quot; \&quot;

\'space

obj.Line (xpos, y1)-(xpos + 1 * dw, y2), &amp;HFFFFFF, BF

xpos = xpos + dw



Case \&quot;1\&quot;

\'space

obj.Line (xpos, y1)-(xpos + 1 * dw, y2), &amp;HFFFFFF, BF

xpos = xpos + dw

\'line

obj.Line (xpos, y1)-(xpos + 1 * dw, y2), &amp;H0&amp;, BF

xpos = xpos + dw



Case \&quot;2\&quot;

\'space

obj.Line (xpos, y1)-(xpos + 1 * dw, y2), &amp;HFFFFFF, BF

xpos = xpos + dw

\'wide line

obj.Line (xpos, y1)-(xpos + 2 * dw, y2), &amp;H0&amp;, BF

xpos = xpos + 2 * dw

End Select

Next

Next



\'1 more space

obj.Line (xpos, y1)-(xpos + 1 * dw, y2), &amp;HFFFFFF, BF

xpos = xpos + dw



\'final size and text

obj.Width = (xpos + dw) * obj.Width / obj.ScaleWidth

obj.CurrentX = (obj.ScaleWidth - tw) / 2

obj.CurrentY = y2 + 0.25 * th

obj.Print bc_string



\'copy to clipboard

obj.Picture = obj.Image

Clipboard.Clear

Clipboard.SetData obj.Image, 2



End Sub





Asi si..
@leluxss
RodolfoGS dijo:
snick dijo:fuera de joda, alguien entiende esto¿?

si yo, es el codigo fuente

y esta muy bueno, no sirve para una mierda pero esta bueno. toma unos puntines


jaja
@checholandia
xq no arman el proyecto de vb6 con dicho codigo??, lo suben comprimido despues uno compila y se entiende mas ya que seria un ejemplo a seguir, sino puede ser copy paste no+...
@piojoman +1
lo probe y no fue reconocido por un scanner para codigos de barras