VB reconoce códigos de barras
Los amigos que han utilizado una herramienta de escaneo de códigos de barras tipo puerto de teclado saben que es como presionar teclas numéricas en el teclado y básicamente no requiere ninguna programación ni procesamiento. Pero si está utilizando otra interfaz, es posible que necesite escribir un código de comunicación para el dispositivo. A continuación se muestra un código de comunicación simple para un lector de códigos de barras con una interfaz serial de 25 pines.
Opción explícita
Atenuar sData como cadena
Sub privado Form_Load()
Con MSComm1
.CommPort = 3 'Establezca esto en COM3 dependiendo del sistema que esté intentando ejecutar. Puede proporcionar un Combbox para que el usuario elija.
.PortOpen = True 'Abrir puerto de comunicación
Finalizar con
End Sub
Sub privado MSComm1_OnComm()
Dim EndPos As Integer
Seleccionar caso MSComm1.CommEvent
Caso comEvReceive 'Cuando hay entrada de datos
sData = sData & Trim(MSComm1.Input)
EndPos = InStr(1, sData, Chr(13))
Si EndPos = 0 Entonces 'Continúa intentándolo si no terminas
De lo contrario 'Termina de leer un set.
lblBarCode.Caption = sData 'Mostrar un conjunto de códigos de barras
Usar lstBarCode
.AddItem Mid(sData, 1, EndPos - 1) 'Agregar se agrega un código de barras de grupo a la lista
Finalizar con
sData = "" 'Borrar
Finalizar si
Finalizar seleccionar
End Sub
Private Sub cmdEnd_Click()
MSComm1.PortOpen = False Cerrar el puerto
Fin
End Sub
p>Dos: Generación de códigos de barras
Programar en VB no es difícil. El siguiente código para la generación de códigos de barras también es fácil de entender. Simplemente use un control de código de barras que viene con OFFICE para imprimir fácilmente 11 códigos de barras estándar diferentes, lo cual es suficiente para cumplir con nuestros requisitos. Recordé un artículo sobre un programa de impresión de códigos de barras escrito en Turbo C en un libro en mi estantería. No sabía que lo leí durante n días y escribí durante n horas, pero el resultado no fue así. satisfactorio. Ahora es realmente mucho más feliz :). Después de decir tonterías, tengo que volver al tema. Echemos un vistazo al código de generación de códigos de barras y las instrucciones relacionadas.
El código fuente incluye principalmente dos formularios (formulario principal frmMain y formulario de configuración de código de barras frmOption) y dos módulos (modGetScreen.bas, SysDLG32.bas). Teniendo en cuenta la extensión del artículo, aquí solo se enumeran algunos de los códigos más críticos.
Cree un nuevo proyecto estándar, agregue una parte de código de barras denominada (Microsoft Access BarCode
Control9) y agregue un control de código de barras en la ventana, luego cambie el nombre de la ventana a frmMain, como se muestra en la figura. Dado que hay muchos controles, no es conveniente entrar en detalles aquí. Consulte el código fuente para obtener más detalles.
El código del módulo modGetScreen.bas es el siguiente. El código básico es el siguiente:
Opción explícita
Declara ligeramente las funciones API de BitBlt, GetDesktopWindow. , GetWindowDC y ReleaseDC
RegUser público como booleano
Sub GetObjImage1(Obj como objeto, OwnerForm como PictureBox, Picture1
Como PictureBox)
'hDC
Atenuar hWndDesk mientras
Atenuar hDCDesk mientras
'Variable de expresión de región
Atenuar x mientras
Atenuar y mientras
Atenuar w mientras
Atenuar h mientras
x = Obj.
x = Obj.Screen.TwipsPerPixelX
y = Obj.Top Screen.TwipsPerPixelY
w = Obj.Width Screen.TwipsPerPixelX
h = Obj.Height Screen.TwipsPerPixelYTwipsPerPixelY
hDCDesk = OwnerForm.hdc
'Obtener la imagen
Llamar a BitBlt(Picture1.hdc, 0, 0, w, h, hDCDesk, x, y ,
vbSrcCopy )
Llamar a ReleaseDC(hWndDesk, hDCDesk)
End Sub
El código en la parte frmMain.frm del El formulario principal es el siguiente:
Private Sub cmdPrint_Click()
'Generar imagen de código de barras
Dim r As Long, i As Integer, t As String,cfile Como
Cadena 'Variable temporal
p>
t = Código de barras
Para i = 0 A Val(Veces) - 1
Código de barras1.Valor = Código de barras + i