Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    79

    [VB6] Lettore codice a barre USB: come comunicare?

    Salve a tutti,

    da un po' di tempo ho questo "schizzo" :berto: di creare in VB un programma che prenda in input dati da un lettore di codice a barre USB, li converta in un formato compatibile con i campi di un database e salvi. E magari, riconosca anche il prodotto tramite dei confronti con codici a barre presenti a priori nel databse.

    Per il lettore non c'è problema, uno tra i tanti usb sul mercato dovrebbe andare bene. Nessun problema nemmeno per la gestione del database, da quel che ho già letto il codice a barre dovrebbe essere trasformato in una stringa e da qui a salvarlo nel database è un gioco da ragazzi.
    Premetto che non ho comprato ancora nulla, sto solo immaginando i problemi a cui potrei andare incontro e valutando se la cosa sia per me risolvibile non troppo difficilmente.

    Dunque, il problema alla fine è il seguente: il lettore di codice a barre, per ogni codice a barre letto, comunicherà col pc. A questo punto, come faccio ad interpretare i dati che questo mi invia e con quale criterio (algoritmo) gestisco e converto questi dati in una stringa? Come prendo con VB6 questi dati che mi invia il lettore?

    Risolto questo, credo non sia una cosa insormontabile salvare o confrontare le stringhe risultate dalla conversione dei codici a barre.

    Vi ringrazio in anticipo per i consigli!!!
    "La fortuna aiuta gli audaci"
    (e non gli adagiati)

  2. #2
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    i lettori di codici a barre funzionano come la tastiera. Mi spiego meglio.
    Quando tu entri in una casella di testo e premi il pulsante del lettore, quest'ultimo ti scriverà nella texbox(un valore di tipo stringa che è la conversione del codice a barre che hai letto in stringa) come se tu avresti digitato il codice a mano sulla tastiera.
    Quindi non serve comunicare con il lettore, fa tutto da solo...
    I got the remedy

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    I lettori di codici a barre in commercio generalmente sono corredati di driver e software vario. Il modo più semplice di impiegarli è quello di usare la modalità "emulazione tastiera", quindi ti consiglierei di tener conto di questa possibilità prima dell'acquisto. Se questa funzione è attivata, per un programma non c'è alcuna differenza tra i dati provenienti dal lettore e quelli digitati sulla tastiera, pertanto, avendo ad esempio il focus su una TextBox, vedrai comparire in chiaro il codice letto. Opzionalmente il codice vero e proprio può essere prefissato e/o suffisato con altri caratteri, in modo da poter verificare la completezza e la correttezza della lettura.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    79
    albgen
    i lettori di codici a barre funzionano come la tastiera. Mi spiego meglio.
    Quando tu entri in una casella di testo e premi il pulsante del lettore, quest'ultimo ti scriverà nella texbox(un valore di tipo stringa che è la conversione del codice a barre che hai letto in stringa) come se tu avresti digitato il codice a mano sulla tastiera.
    Quindi non serve comunicare con il lettore, fa tutto da solo...
    Uh.. quindi i problemi che avrebbero potuto bloccarmi sono risolti in automatico. Però ovviamente credo che sia d'obbligo avere aperta un'applicazione con focus settato su un campo in input per fare in modo che i dati vengano visualizzati.
    Nel caso ciò non fosse configurato in tal modo, ma ad esempio l'applicazione in cui il codice deve apparire a schermo dopo la lettura fosse ridotta a icona sulla barra delle applicazioni, esiste un evento di questa periferica usb (il lettore di codice) che si attiva quando i dati sono inviati al pc, per fare in modo che l'applicazione ridotta ad icona si ponga a finestra in primo piano sulle altre?

    Grumpy
    I lettori di codici a barre in commercio generalmente sono corredati di driver e software vario. Il modo più semplice di impiegarli è quello di usare la modalità "emulazione tastiera", quindi ti consiglierei di tener conto di questa possibilità prima dell'acquisto. Se questa funzione è attivata, per un programma non c'è alcuna differenza tra i dati provenienti dal lettore e quelli digitati sulla tastiera, pertanto, avendo ad esempio il focus su una TextBox, vedrai comparire in chiaro il codice letto. Opzionalmente il codice vero e proprio può essere prefissato e/o suffisato con altri caratteri, in modo da poter verificare la completezza e la correttezza della lettura.
    Umh... non capisco esattamente cosa sia questa modalità di "emulazione tastiera", forse si riferisce sempre al fatto che il lettore viene interfacciato al pc come una tastiera (?), ma da come ne parli sembra non sia uno standard adottato da ogni lettore di questo tipo, quindi ne terrò conto prima dell'acquisto, se è la modalità più semplice d'uso di queste periferiche.
    Per suffissato e prefissato intendi sempre opzioni strettamente attinenti al lettore immagino... scusa, ma in che modo un lettore di CaB potrebbe aggiungere una ridondanza per verificare la correttezza della lettura? Cioè, con cosa sarebbe confrontata la lettura, con altre letture successive, forse?
    "La fortuna aiuta gli audaci"
    (e non gli adagiati)

  5. #5
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da Loue
    Uh.. quindi i problemi che avrebbero potuto bloccarmi sono risolti in automatico. Però ovviamente credo che sia d'obbligo avere aperta un'applicazione con focus settato su un campo in input per fare in modo che i dati vengano visualizzati.
    si essatto!

    Originariamente inviato da Loue
    Nel caso ciò non fosse configurato in tal modo, ma ad esempio l'applicazione in cui il codice deve apparire a schermo dopo la lettura fosse ridotta a icona sulla barra delle applicazioni, esiste un evento di questa periferica usb (il lettore di codice) che si attiva quando i dati sono inviati al pc, per fare in modo che l'applicazione ridotta ad icona si ponga a finestra in primo piano sulle altre?
    grosso modo si ma dipende dallo scanner, però non ha senso quello che dici tu...
    per un semplice motivo. E se ci fossero più campi dentro alla form? cosa fai, porti l'applicazione in primo piano e dove scrivi, su quale campo?
    I got the remedy

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    79
    Originariamente inviato da albgen
    si essatto!



    grosso modo si ma dipende dallo scanner, però non ha senso quello che dici tu...
    per un semplice motivo. E se ci fossero più campi dentro alla form? cosa fai, porti l'applicazione in primo piano e dove scrivi, su quale campo?
    beh al verificarsi dell'evento porterei la finestra in primo piano col setFocus sulla TB d'interesse per l'input del codice !!
    :quote:

    Umh, a proposito, ci sarà un metodo che restituisce questo valore se non lo voglio visualizzare, ma solo lavorarci su col programma? :master:

    Ecco, lo sapevo... dipende dallo scanner...

    Tu di quali specifiche consigli di accertarmi perchè un lettore di questo tipo risponda ad eventi di questo tipo
    "La fortuna aiuta gli audaci"
    (e non gli adagiati)

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Originariamente inviato da Loue
    Umh... non capisco esattamente cosa sia questa modalità di "emulazione tastiera", forse si riferisce sempre al fatto che il lettore viene interfacciato al pc come una tastiera (?), ma da come ne parli sembra non sia uno standard adottato da ogni lettore di questo tipo, quindi ne terrò conto prima dell'acquisto, se è la modalità più semplice d'uso di queste periferiche.
    Sì, l'emulazione tastiera, come dice il nome, è la modalità secondo la quale i dati letti dal lettore è come se fossero digitati sulla tastiera e, pertanto, se c'è una TextBox con il focus, compaiono lì. Non è detto che tutti i lettori siano dotati di questa funzionalità.
    Originariamente inviato da Loue
    esiste un evento di questa periferica usb (il lettore di codice) che si attiva quando i dati sono inviati al pc, per fare in modo che l'applicazione ridotta ad icona si ponga a finestra in primo piano sulle altre?
    Non esiste un evento per il lettore in quanto esso non è un oggetto (in senso informatico). Esistono però gli eventi della TextBox che riceve i dati.
    Originariamente inviato da Loue
    Per suffissato e prefissato intendi sempre opzioni strettamente attinenti al lettore immagino... scusa, ma in che modo un lettore di CaB potrebbe aggiungere una ridondanza per verificare la correttezza della lettura? Cioè, con cosa sarebbe confrontata la lettura, con altre letture successive, forse?
    Un prefisso e/o suffiso appesi prima e/o dopo il codice vero proprio, possono servire, ad esempio, ad identificare da quale lettore proviente la stringa, nel caso ne esistano più d'uno. Possono servire anche a delimitare il codice in modo da renderlo più facilmente individuabile in una stringa che potrebbe contenerne più d'uno.

    Tieni comunque presente, anche se ai fini applicativi non fa molta differenza, che i lettori di barcode sono in genere dei dispositivi seriali; vengono collegati ad una porta USB solo in virtù del fatto che un apposito driver, che deve essere installato, rende possibile questo collegamento.

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    79
    Originariamente inviato da Grumpy
    Sì, l'emulazione tastiera, come dice il nome, è la modalità secondo la quale i dati letti dal lettore è come se fossero digitati sulla tastiera e, pertanto, se c'è una TextBox con il focus, compaiono lì. Non è detto che tutti i lettori siano dotati di questa funzionalità.

    Non esiste un evento per il lettore in quanto esso non è un oggetto (in senso informatico). Esistono però gli eventi della TextBox che riceve i dati.

    Un prefisso e/o suffiso appesi prima e/o dopo il codice vero proprio, possono servire, ad esempio, ad identificare da quale lettore proviente la stringa, nel caso ne esistano più d'uno. Possono servire anche a delimitare il codice in modo da renderlo più facilmente individuabile in una stringa che potrebbe contenerne più d'uno.

    Tieni comunque presente, anche se ai fini applicativi non fa molta differenza, che i lettori di barcode sono in genere dei dispositivi seriali; vengono collegati ad una porta USB solo in virtù del fatto che un apposito driver, che deve essere installato, rende possibile questo collegamento.
    Chiarissimo, grazie a tutti

    PS. allora immagino non si possa gestire la variabile stringa del barcode prima di vederla in una TBox. Nel senso: se non mi interessasse visualizzarla, ma solo lavorarci su non c'è qualcosa leggibile in memoria, vado di TBox invisibile, con focus attivo e poi la leggo?

    Oltretutto se non esiste un evento per l'entrata dei dati dal lettore, esisterà qualcosa per l'entrata dei dati da una porta USB.
    "La fortuna aiuta gli audaci"
    (e non gli adagiati)

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    L'emulazione di tastiera è una facilitazione alla quale di solito si ricorre perché più comoda e anche perché permette di digitare a mano un codice a barre che non si riesce a leggere con il lettore. Un po' come accade talvolta alla cassa del supermercato.
    Però, come ti dicevo prima, i lettori di barcode sono in realtà dei dispositivi seriali e, anche se vengono collegati ad una porta USB, in realtà è come se fossero collegati ad una porta COMn, la quale può essere "letta" con l'oggetto MSComm. E' anche possibile che il lettore sia corredato da un qualche software alternativo.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.