Aplicacion en Visual Basic .net
Existen varias maneras para generar un código de barras, la que utilizaremos es la más fácil: el uso de Fuentes true type.
Algo que es importante tomar en cuenta es que si queremos que un lector de códigos de barras lea nuestros códigos hay que encerrar este entre asteriscos (*código*).
Para crear nuestra fuente utilizaremos un archivo .TTF y cargaremos el resultado en una imagen en el Form.
Pasos
1. Crear un nuevo proyecto para Visual Basic
- Agregar al Form los siguientes objetos
· 3 Label
· 1 TextBox
· 1 ComboBox
· 1 Button
- Agregar el siguiente código al programa:
Imports SystemImports System.IOImports System.DrawingImports System.Drawing.FontImports System.CollectionsImports System.ComponentModelImports System.Windows.FormsImports System.DataImports System.Drawing.Text
Public Class Form1Private fuente As FontPrivate directorioFuentes As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load'Directorio en el cual se almacenan las fuentesdirectorioFuentes = "C:\Fuentes"'Inicializamos la Fuente.CargarListaFuentes()End Sub
Public Function CargarListaFuentes()TryDim Directorio As DirectoryInfoDirectorio = New DirectoryInfo(directorioFuentes)
If (Directorio.Exists) ThenDim Archivo As FileInfo()Archivo = Directorio.GetFiles()For Each fuentes As FileInfo In ArchivoIf fuentes.Extension = ".TTF" ThencbxCodigos.Items.Add(fuentes.Name)End IfNextcbxCodigos.SelectedIndex = 0 'Fuente por defaultEnd IfCatch ex As ExceptionMessageBox.Show(ex.Message)End TryReturn TrueEnd Function
Public Function CargarFuente(ByVal _fuente As String)Dim pfc As PrivateFontCollection = New PrivateFontCollection()Dim fontFamily As FontFamily
pfc.AddFontFile(directorioFuentes & "\" & _fuente)fontFamily = pfc.Families(0)fuente = New Font(fontFamily, 30)Return TrueEnd Function
Public Function FormatoCodigoBarras(ByVal code As String) As StringDim barcode As String = String.Emptybarcode = String.Format("{0}", code)Return barcodeEnd Function
Private Sub btnGenerar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGenerar.ClickTryIf txtCodigo.Text = String.Empty ThenlblCodigo.Text = "Tienes que introducir un Código"ElseIf Not (fuente Is Nothing) ThenlblCodigo.Font = fuentelblCodigo.Text = FormatoCodigoBarras(txtCodigo.Text)lblCode.Text = FormatoCodigoBarras(txtCodigo.Text)End IfEnd IfCatch ex As ExceptionMessageBox.Show(ex.Message)End TryEnd Sub
Private Sub cbxCodigos_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbxCodigos.SelectedIndexChangedTryCargarFuente(cbxCodigos.Text)Catch ex As ExceptionMsgBox(ex.Message, MsgBoxStyle.Critical)End TryEnd SubEnd Class
Al correr el programa se tendrá una pantalla como la siguiente. En este caso se muestra el resultado de convertir 14187 a código de barras.
Código basado en:
http://www.elguille.info/colabora/NET2006/Marckys_BarCode.htm
http://www.elguille.info/colabora/NET2006/Marckys_BarCode.htm
9 comentarios:
Me parece bastante acertada y útil la info, ya hacía buen rato buscaba algo parecido.. Se te agradece las buenas intenciones. Gracias.
excelente aporte, estoy realizando un proyecto y necesitava algo muy similar de apoyo
Muy buen aporte!!! Gracias!!
Yo te recomiendo esta web con fuentes de codigos de barras (ver enlace)
Saludos
MUY BUEN APORTE muchas gracias muchas gracias tengo una consulta al correr el programa no me carga nada en la var directorioFuentes = "C:\Fuentes" y por ende no me carga nada en el combo box ayuda por favor
Gradeciendote mucho esta información. Que seas muy feliz y realmente bendecido al haber encontrado esta información.
Excelente ...!!!!
Lo ejecuto y no me genera el código de barra ¿alguien puede ayudarme ?
excelente
Que pena, no me corre... no me genera nada...
Publicar un comentario