Autore Topic: [risolto] barcode scanner  (Letto 1719 volte)

Offline naderit

  • Grande Gambero
  • ***
  • Post: 140
    • Mostra profilo
[risolto] barcode scanner
« il: 17 Luglio 2017, 19:23:02 »
Ciao a tutti. Ho un lettore di barcode USB collegato in emulazione di tastiera, per acquisire i dati letti ed elaborarli ho pensato di utilizzare una textbox e al momento che prende il focus mi visualizza il barcode numerico, però non mi piace perché implica una casella di testo attiva con possibilità di inserimento casuale da tastiera. Allora ho pensato di usare il Keypress del form :
Codice: [Seleziona]
Private a As String
Private b As String

Public Sub form_KeyPress()
   a = Key.Text
   b = b & a
   Label1.Text = b
End

ma non mi entusiasma molto
domanda: esiste la possibilità di inserire il barcode numerico letto in una variabile String senza dover usare i metodi indicati? oppure esiste un metodo che mi sfugge?
Grazie  :-[     
« Ultima modifica: 19 Luglio 2017, 21:39:02 da naderit »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.179
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:barcode scanner
« Risposta #1 il: 17 Luglio 2017, 20:48:15 »
Non ho capito  :-\ che relazione c'è fra l'acquisizione dei dati del codice a barre con l'evento form_KeyPress( ). Cioè, cosa fa, a cosa serve l'intera routine di quell'evento con l'acquisizione e la elaborazione dei dati del codice a barre ?
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline naderit

  • Grande Gambero
  • ***
  • Post: 140
    • Mostra profilo
Re:barcode scanner
« Risposta #2 il: 17 Luglio 2017, 21:26:11 »
Ciao Vuott,  mettiamo il caso che con il lettore in emulazione di tastiera si legga il codice "8017331056424"  senza la routine avrei nella variabile "a" solo l'ultimo numero il 4, usando anche la seconda variabile ho l'intera stringa letta dal lettore. in poche parole lo scanner ha lo stesso comportamento come se digitassi da tastiera e con la routine ogni numero e viene affiancato per comporre l'intero codice.  La domanda è: secondo voi è possibile acquisire il codice letto dal lettore, caricarlo in una variabile  senza che la tastiera possa interferire al momento dell'acquisizione?
 

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.179
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:barcode scanner
« Risposta #3 il: 17 Luglio 2017, 23:23:16 »
Perdona la mia mente bacata , ma io non ho ancora compreso cosa c'entra l'acquisizione del codice a barre via USB con l'immissione di caratteri via tastiera attraverso la routine form_KeyPress( ).
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Arco

  • Gambero
  • **
  • Post: 91
    • Mostra profilo
Re:barcode scanner
« Risposta #4 il: 18 Luglio 2017, 08:41:56 »
Se il lettore di codici è USB non dovresti leggere i valori dal device seriale assegnato alla porta USB.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.179
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:barcode scanner
« Risposta #5 il: 18 Luglio 2017, 09:59:55 »
.... non dovresti leggere i valori dal device seriale assegnato alla porta USB.
...a meno che non si sappia interpretare adeguatamente i dati intercettati.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.696
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:barcode scanner
« Risposta #6 il: 18 Luglio 2017, 13:13:42 »
 :ciao:
...se può servire a comprendere: "il lettore di codici a barre USB si comporta come una tastiera".
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.179
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:barcode scanner
« Risposta #7 il: 18 Luglio 2017, 13:24:50 »
"il lettore di codici a barre USB si comporta come una tastiera".
1) cosa significa "si comporta come una tastiera" ?   ???

2) perché naderit ha inserito quella routine con evento "_keypress( )" ?  Perché e a che dovrebbe servire quell'evento nell'intercettazione ed elaborazione del codice a barre ?

Bisogna essere chiari ! Io non ho capito assolutamente niente.   >:(
« Ultima modifica: 18 Luglio 2017, 13:26:32 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.696
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:barcode scanner
« Risposta #8 il: 18 Luglio 2017, 13:30:03 »
 :ciao:
nel senso letterale della cosa. Quando tu spari con la pistola, il codice viene catturato come se fosse stato scritto sulla tastiera!
Ho scritto un programmino che faceva proprio questo, proverò a dare un occhio!
 :ciao:

PS: ho usato il comando INPUT
« Ultima modifica: 18 Luglio 2017, 13:32:34 da kicco »
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.179
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:barcode scanner
« Risposta #9 il: 18 Luglio 2017, 13:48:32 »
il codice viene catturato come se fosse stato scritto sulla tastiera!
Oh, quindi dai dati intercettati via USB viene filtrata  e restituita una stringa di caratteri alfanumerici che rappresenta il numero di codice a barre. Giusto ?

Ora, vorrei ora capire perché naderit non possa memorizzare quei dati ASCII in memoria mediante una normale variabile di tipo Stringa.    :-\
« Ultima modifica: 18 Luglio 2017, 13:53:08 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.696
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:barcode scanner
« Risposta #10 il: 18 Luglio 2017, 14:57:05 »
Citazione
Oh, quindi dai dati intercettati via USB viene filtrata  e restituita una stringa di caratteri alfanumerici che rappresenta il numero di codice a barre. Giusto ?
Giusto!
Citazione
Ora, vorrei ora capire perché naderit non possa memorizzare quei dati ASCII in memoria mediante una normale variabile di tipo Stringa.    :-\
  :-\
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.179
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:barcode scanner
« Risposta #11 il: 18 Luglio 2017, 16:23:49 »
...il mistero s'infittisce !   

   
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Arco

  • Gambero
  • **
  • Post: 91
    • Mostra profilo
Re:barcode scanner
« Risposta #12 il: 18 Luglio 2017, 17:16:17 »
Codice: [Seleziona]
Private a As String
Private b As String

Public Sub form_KeyPress()
   a = Key.Text
   b = b & a
   Label1.Text = b
End

domanda: esiste la possibilità di inserire il barcode numerico letto in una variabile String senza dover usare i metodi indicati?   :-[     
Se ho capito bene basterebbe che b fosse dichiarata come variabile globale e potresti utilizzarla in qualsiasi Sub.

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.114
  • Tonno verde
    • Mostra profilo
Re:barcode scanner
« Risposta #13 il: 18 Luglio 2017, 18:04:58 »
Ti allego un semplice, ottimo codice scritto da Charlie che volendo ti permette di porre vari controlli (es. il numero di caratteri).
Io non credo che ci siano modi migliori più spicci di questo.
D'altra parte che scrivi con la tastiera o che scannerizzi sempre da qualche parte devi inviare l'input.
E se lo scanner si rifiuta di leggere? Non conviene avere un posto dove scrivere? Magari crei la casella di colore diverso...

Poi magari... Vuott può insegnarci qualcosa di magico...  :D

 :ciao:
« Ultima modifica: 18 Luglio 2017, 18:05:45 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline naderit

  • Grande Gambero
  • ***
  • Post: 140
    • Mostra profilo
Re:barcode scanner
« Risposta #14 il: 18 Luglio 2017, 19:31:44 »
Ciao, Kicco ha ragione lo scanner USB si comporta come la tastiera. Si Arco le variabili "a"  e "b" sono globali. Nel progetto allegato da Gianluigi funziona come il mio esempio ovvero la tastiera può interagire con il lettore.
 Credo che le soluzioni siano:
1) settare lo scanner, se ne ha la possibilità, che inizi la lettura con un carattere jolly.
2) fare in modo di escludere la tastiera (poco probabile)
3) lasciare cosi com'è e caricare il dato letto in una variabile o direttamente in una textbox
4) usare uno scanner RS232(obsoleto)
a presto  :ciao: