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 :
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 :-[
ok, e come memorizzo il codice letto dallo scanner in una variabile stringa? :mad:
la variabile da me usata è globale.
Private a As String ' variabile globale '
Private b As String ' variabile globale'
Public Sub form_KeyPress()
a = Key.Text 'barcode letto dallo scanner in emulazione di tastiera, singolo carattere'
b = b & a
Print b
End
' Gambas class file
Public Sub form_Open()
TextBox1.SetFocus 'Per essere sicuro che la text box sia pronta a ricevere l'input
End
Public Sub TextBox1_KeyPress() 'È necessario sapere se viene ricevuto il return (fine codice)
Dim sCode As String
Label1.text = ""
If Key.Code = Key.Return Then 'Se return è stato ricevuto
sCode = TextBox1.Text
Label1.text = ConvalidaCodice(sCode)
TextBox1.text = ""
TextBox1.SetFocus 'Pronto a ricevere il prossimo codice
Else
Label1.text = "#Codice non valido!"
TextBox1.text = ""
TextBox1.SetFocus 'Pronto a ricevere il prossimo codice
Endif
End
Private Function ConvalidaCodice(sCode As String) As String
' Qui inserisci tutti i controlli e se va bene restituisci il codice oppure errore.
' Se uno ha inserito con la tastiera un refuso questo non succede, giusto? Otterrai un altro numero...
If Len(sCode) = 13 Then Return sCode
' If...
' Oppure lo fai con If ... Else If ... Select Case ...
Return "#Codice non valido!"
End
Io, come suppongo anche altri, non ho una pistola lettore di codici a barre, pertanto se facciamo delle domande è perché stiamo proponendo soluzioni alla cieca.
Sia chiaro che questa è l'ultima volta che cerco di aiutare qualcuno che neanche si degna di rispondere alle domande che gli faccio.
va be... cercavo di risolvere alcuni problemi tecnici
per rispondere a Vuott .. alla fine ho risolto utilizzando una inputbox
Dim valore As String
valore = InputBox("Codice", "Barcode")
Print valore
- apro l'inputbox
- leggo codice che lo stampa nella textbox
- carico nella variabile "valore" che utilizzo a mio piacimento
a presto :P