1ero para que una empresa utilize el "EAN 13" necesita estar registrado en alguna entidad?
Una vez generado el codigo de barra como las imprimo en que papel o acaso mediante una imprenta por que por ahi leí que ofrecian por la compra de un lector de codigo de barras un software para crear e imprimir etiquetas(osea hacerlo uno mismo).
Por otro lado donde descargo el codigo fuente de "code 128" para vb6.0
.
Es este el code 128...
http://infrangelux.sytes.net/FileX/index.php?dir=/BlackZeroX/BarCodes/Code%20128&file=code128.ttf
P.D.: No se mucho del tema pero Creo que puede ser con cualquier papel... mientras te lo pueda leer!¡.
Dulces Lunas!¡
Los lectores de codigo de barras usan un barrido laser medio raro
Puede ser cualquier papel mientras que no sea ojo o amarillo.
;D ;D ;D
Al fin me sirvio de algo prestar atencion en la esc
Entonces no hay que programar nada? :silbar: y solo se puede utilizar un tipo de fuente y listo, no creo!
He visto varios tipo de fuente que simulan codigo de barras como "3OF9.TTF" y "code128 de BlackZeroX" pero que pasa si el lector de codigo de barra no lo reconoce.
Por otro lado por que hay programas de pago para esto si solo se trata de un tipo de letra, no se mucho del tema espero alguien puede orientar un poco.
Alguien que haya utilizado un lector de codigo de barra para buscar un producto y el code128 para generar la etiquetas con el codigo.
En cuanto a EAN13 segun wikipedia me da este codigo vb6.0
'Cálculo del dígito de control EAN
Dim iSum As Integer = 0
Dim iDigit As Integer = 0
Dim EAN As String = "123456789041" 'EAN de prueba
For i As Integer = EAN.Length To 1 Step -1
iDigit = Convert.ToInt32(EAN.Substring(i - 1, 1))
If (EAN.Length - i + 1) Mod 2 <> 0 Then
iSum += iDigit * 3
Else
iSum += iDigit
End If
Next
Dim iCheckSum As Integer = (10 - (iSum Mod 10)) Mod 10
Console.Write("Dígito de control: " & iCheckSum.ToString())
Una vez encontre el un code y lo tire en mi libreria nunca la probe y no c si es EAN13 pero talves te ayude chekalo y dejas saber
Private 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
Private Sub Command1_Click()
Call DrawBarcode(Trim("123456"), Trim("Cascara de Mango"), "0.00", Picture1)
End Sub
Yo uso un lenguaje llamado Clarion y solo le pones el font del bar code que quieres y listo y tambien cristal report tambien le das el font y listo yo tengo un soft para colegios y el carnet lo genero con un font en cristal y listo..
Saludos...
Hola Angeldj27 ya habia encontrado ese codigo y no es EAN13 ni CODE128 pero por lo que veo si se pueden crear codigos de barra sin necesidad de fuentes, haber si alguien tiene algo por ahi, saludos
.
Solo que imagenes, y manejando graficos directamente!¡... Asi que si no bueno. quizas aya otra forma mas nativa pero hasta no demostrar lo contrario...
Dulce Lunas!¡.
Al parecer lo mejor y mas practico es utilizar tipos de fuente, aunque he bajado programas como datawareBarcode,zonerBarcode y un ocx llamado TBarCode4.ocx que al parecer no utilizan fuentes, lastima el ocx sea trial por que aparece una linea orizontal en crear el barcode y asumo que es trial o demo.
Ahi arme un modulo de clase para dibujar barcode128 B , http://cobein.com/wp/?p=631 es bastante simple asi que cualquier extra lo dejo para el ususrio AKA mejorar la funcion de dibujado etc.
The Data Matrix Barcode Add-In for Excel (http://www.keepdynamic.com/office/barcode-in-excel.shtml) is an advanced and efficient Data Matrix generation component specifically designed for Excel 2007 and 2010. It is able to create 2d matrix barcode label in MS Excel.