APLICACIÓN DESARROLLADA EN LENGUAJE C# QUE PERMITE LA LECTURA DE CÓDIGOS QR CAPTURADOS DESDE UNA WEBCAM
DESCARGAR LAS DOS LIBRERIAS NECESARIAS:
CODIFICACION: VER CODIGOS EN .NET
USING
SYSTEM;
USING
SYSTEM.COLLECTIONS.GENERIC;
USING
SYSTEM.COMPONENTMODEL;
USING
SYSTEM.DATA;
USING
SYSTEM.DRAWING;
USING
SYSTEM;
USING
SYSTEM.COLLECTIONS.GENERIC;
USING
SYSTEM.COMPONENTMODEL;
USING
SYSTEM.DATA;
USING
SYSTEM.DRAWING;
USING
SYSTEM.LINQ;
USING
SYSTEM.TEXT;
USING
SYSTEM.WINDOWS.FORMS;
USING
AFORGE.VIDEO.DIRECTSHOW;
USING
BARCODELIB.BARCODEREADER;
NAMESPACE
LECTORQR
{
PUBLIC PARTIAL CLASS FORM1 : FORM
{
PUBLIC FORM1()
{
INITIALIZECOMPONENT();
}
//VARIABLE
PARA LISTA DE DISPOSITIVOS
PRIVATE FILTERINFOCOLLECTION DISPOSITIVOS;
//VARIABLE
PARA FUENTE DE VIDEO
PRIVATE VIDEOCAPTUREDEVICE FUENTEDEVIDEO;
PRIVATE VOID FORM1_LOAD(OBJECT SENDER,
EVENTARGS E)
{
//LISTAR DISPOSITIVOS DE ENTRADA DE VIDEO
DISPOSITIVOS
= NEW FILTERINFOCOLLECTION(FILTERCATEGORY.VIDEOINPUTDEVICE);
//CARGAR TODOS LOS DISPOSITIVOS AL COMBO
FOREACH(FILTERINFO
X IN DISPOSITIVOS)
{
COMBOBOX1.ITEMS.ADD(X.NAME);
}
COMBOBOX1.SELECTEDINDEX = 0;
}
//BOTON
DE INICIAR LECTURA
PRIVATE VOID BUTTON1_CLICK(OBJECT SENDER,
SYSTEM.EVENTARGS E)
{
//EMPEZAR A LEER
TIMER1.ENABLED = TRUE;
//ESTABLECER EL DISPOSITIVO SELECCIONADO COMO
FUENTE DE VIDEO
FUENTEDEVIDEO
= NEW VIDEOCAPTUREDEVICE(DISPOSITIVOS[COMBOBOX1.SELECTEDINDEX].MONIKERSTRING);
//INICIALIZAR EL CONTROL
VIDEOSOURCEPLAYER1.VIDEOSOURCE =
FUENTEDEVIDEO;
//INICIAR RECEPCION DE IMAGENES
VIDEOSOURCEPLAYER1.START();
}
//BOTON DE DETENER LECTURA
PRIVATE VOID BUTTON2_CLICK(OBJECT SENDER, SYSTEM.EVENTARGS E)
{
//DEJAR DE LEER
TIMER1.ENABLED = FALSE;
//DETENER RECEPCION DE IMAGENES
VIDEOSOURCEPLAYER1.SIGNALTOSTOP();
}
//EVENTO TICK DE TIMER
PRIVATE VOID TIMER1_TICK(OBJECT SENDER, SYSTEM.EVENTARGS E)
{
//ESTAR SEGUROS QUE HAY UNA IMAGEN DESDE LA
WEBCAM
IF(VIDEOSOURCEPLAYER1.GETCURRENTVIDEOFRAME()
!= NULL)
{
//IBTENER
IMAGEN DE LA WEBCAM
BITMAP IMG = NEW
BITMAP(VIDEOSOURCEPLAYER1.GETCURRENTVIDEOFRAME());
//UTILIZAR LA LIBRERIA Y LEER EL CÓDIGO
STRING[] RESULTADOS =
BARCODEREADER.READ(IMG, BARCODEREADER.QRCODE);
//QUITAR LA IMAGEN DE MEMORIA
IMG.DISPOSE();
//OBTENER LAS LECTURAS CUANDO SE LEA
ALGO
IF(RESULTADOS != NULL
&& RESULTADOS.COUNT() > 0)
{
//AGREGAR EL TEXTO
OBTENIDO A LA LISTA
LISTBOX1.ITEMS.ADD(RESULTADOS[0]);
}
}
}
}
}

Como le hago para que solo escaneeé una vez y lo muestre en un TextBox ? Me urge pls ):
ResponderEliminar