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.