Limitazione scrittura textbox tag nfc

di il
39 risposte

39 Risposte - Pagina 3

  • Re: Limitazione scrittura textbox tag nfc

    max.riservo ha scritto:


    - se scrivo 3 numeri a mano e poi avvicino una carta al lettore ho due strade, se ho impostato il limite a 10 caratteri ho che mi accoderà solo i primi 7 numeri e quindi il codice sarà falsato; se non controllo la lunghezza il codice finale sarà la somma dei caratteri digitati a mano + i 10 rilevati dal lettore;
    Se il tuo TAG ti restituisce sempre (e solo) 10 caratteri, tu considera SOLO gli ultimi 10 caratteri della textbox in abbinamento all' enter automatico ....

    Aggiungo : fagli inserire anche i caratteri di inizio/fine TAG così di fatto i caratteri validi DEVONO essere 10 all' interno dei caratteri delimitatori !
    Purtroppo qui si aggiunge un altro problema oltre al primo che ti ho detto nel post precedente, il carattere di inizio mi serve a quanto pare per fare in modo di rilvare la digitazione dal lettore con il keypreview e impostare il focus automaticamente sulla textboc dedicata, ho fatto una prova e il carattere iniziale sparisce da solo nella textbox di destinazione e quindi penso che sia una cosa fatta appositamente.
  • Re: Limitazione scrittura textbox tag nfc

    E allora non ti resta che scartare il codice presente nella textbox se la lunghezza è diversa da 10 !
  • Re: Limitazione scrittura textbox tag nfc

    max.riservo ha scritto:


    E allora non ti resta che scartare il codice presente nella textbox se la lunghezza è diversa da 10 !

    mi dispiace ma con questo neanche risolvo del tutto, se scrivo 10 numeri a caso potrei beccare il codice di una carta e rovinare tutto o quantomeno impegnare banda per la query al database inutilmente.

    Sono 3/4 giorni che ci penso e attualmente l'unica procedura che più si avvicina è quella di leggere i tempi di inserimento.

    Grazie per l'aiuto!
  • Re: Limitazione scrittura textbox tag nfc

    mi dispiace ma con questo neanche risolvo del tutto, se scrivo 10 numeri a caso potrei beccare il codice di una carta e rovinare tutto o quantomeno impegnare banda per la query al database inutilmente.
    Questa è una tua scelta progettuale.

    Io, in applicazioni industriali dove utilizzo barcode reader, NON mi preoccupo dell' utente che digita manualmente il codice, semplicemente perchè è prioritario che l' impianto possa funzionare ANCHE in caso di guasto del barcode reader (ovviamente, per NON fare accessi inutili al DB, il codice deve essere formalmente corretto).

    Magari giocando con le proprietà Enabled e/o Locked della textbox in abbinamnto con i caratteri delimitatori del TAG, potresti (forse) riuscire ad inibire la tastiera ....
    Non ho altre proposte da fare .....
  • Re: Limitazione scrittura textbox tag nfc

    Rieccomi. Caspita quanti post!
    Non mi sono ancora dedicato a modificare il codice secondo i parametri risultanti dalla prova che hai fatto sui tempi.. Appena posso mi ci dedico... Anche perché in realtà interessa anche me.

    Volevo intanto dire alcune cose:
    - il carattere iniziale probabilmente non scompare automaticamente nella textbox perché, in realtà, viene premuto prima di fare il focus nella textbox quindi non viene scritto semplicemente perché la textbox non é selezionata.
    - l'idea dei tag come quella di abilitare/disabilitare la textbox sono implementabili, eventualmente, per aggiungere altri livelli di sicurezza per impedire l'inserimento manuale.
    - l'autoenter al termine dell'inserimento é determinante quindi lo considererò anche nel codice (appena ho tempo di ultimarlo).
    - Se, in casi di emergenza si volesse permettere l'inserimento manuale (se il lettore di rompe) si potrebbe ipotizzare una password di sblocco ovvero un intervento remoto se il database é condiviso...
    - la risposta al mettere il codice in una funzione richiamata al evento click sulla textbox é "ni".. Ovvero é fattibile ma credo tu voglia far si che la routine sia in continua esecuzione (ora funziona solo una volta).. Per ottenere il funzionamento continuo forse bisognerà agire proprio sul evento exit della textbox ovvero alla pressione automatica di enter così. Da riazzerare il tutto e farlo ripartire... Che dire.. Nel frattempo prova a studiare ul codice... Io vedo che riesco a fare.

    Tutto Dipende da come lo di vuole strutturare.
  • Re: Limitazione scrittura textbox tag nfc

    Angelo_Tbp ha scritto:



    - il carattere iniziale probabilmente non scompare automaticamente nella textbox perché, in realtà, viene premuto prima di fare il focus nella textbox quindi non viene scritto semplicemente perché la textbox non é selezionata.
    Ho fatto un debug accurato e la risposta è esattamente quella.

    - Se, in casi di emergenza si volesse permettere l'inserimento manuale (se il lettore di rompe) si potrebbe ipotizzare una password di sblocco ovvero un intervento remoto se il database é condiviso...
    [/quote]
    Io intenzionalmente non ho voluto prevedere procedure alternative, prima di tutto perché se si rompe il lettore a meno che non ho il codice scritto sulla carta (troppo rischioso) non ho nessun modo di recuperarlo se non con un altro lettore NFC, quindi visto pure quanto costano conviene averne sempre qualcuno di scorta.

    Angelo_Tbp ha scritto:


    - la risposta al mettere il codice in una funzione richiamata al evento click sulla textbox é "ni".. Ovvero é fattibile ma credo tu voglia far si che la routine sia in continua esecuzione (ora funziona solo una volta).. Per ottenere il funzionamento continuo forse bisognerà agire proprio sul evento exit della textbox ovvero alla pressione automatica di enter così. Da riazzerare il tutto e farlo ripartire... Che dire.. Nel frattempo prova a studiare ul codice... Io vedo che riesco a fare.
    Infatti ho fatto delle prove e mi sono reso conto che basta inizializzare i parametri nell'evento LostFocus della txt_Test come accade anche nell'evento FormLoad.

    In alternativa ho pensato di risolvere la questione in modo un po' più rudimentale seguendo un po' i consigli di max.riservo come dal codice seguente:
    
    Private Sub Form_KeyDown(KeyAscii As Integer, Shift As Integer)
    If KeyAscii = 192 Then
    Me.Testo0.SetFocus
    End If
    End Sub
    
    Private Sub Testo0_LostFocus()
    If Len(Me.Testo0.Value) <> 10 Then
    Me.Testo0.Value = Null
    End If
    End Sub
    
    Mancherebbe la parte per tagliare il primo carattere nel caso in cui faccio leggere la carta quando la textbox ha già il focus e per risolvere il problema del codice di 10 cifre digitato interamente da tastiera pensavo di rendere la cella invisibile a livello visivo e non con la proprietà visible ovviamente.
  • Re: Limitazione scrittura textbox tag nfc

    Kariokas ha scritto:


    Io intenzionalmente non ho voluto prevedere procedure alternative, prima di tutto perché se si rompe il lettore a meno che non ho il codice scritto sulla carta (troppo rischioso) non ho nessun modo di recuperarlo se non con un altro lettore NFC, quindi visto pure quanto costano conviene averne sempre qualcuno di scorta.
    Speriamo non si rompa la porta USB allora (qui ci andrebbe il faccino che ride ma scrivendo dal telefono non lo trovo)

    Kariokas ha scritto:


    In alternativa ho pensato di risolvere la questione in modo un po' più rudimentale seguendo un po' i consigli di max.riservo come dal codice seguente... Omesso
    L'importante é risolvere quindi se il metodo é ugualmente efficace e in questo caso anche più semplice perché no!

    Kariokas ha scritto:


    Mancherebbe la parte per tagliare il primo carattere nel caso in cui faccio leggere la carta quando la textbox ha già il focus
    Forse usando la funzione "mid" quando il testo é esattamente di 11 (undici) caratteri.

    Kariokas ha scritto:


    e per risolvere il problema del codice di 10 cifre digitato interamente da tastiera pensavo di rendere la cella invisibile a livello visivo e non con la proprietà visible ovviamente.
    Rimarrebbe la possibilità di accedervi mediante TAB? Se cosi fosse Magari si riesce ad inibire la pressione del tasto tab... Oppure a forzare il focus da un altra parte quando si preme tab... Se risolvi questo risolvi anche il problema precedente.

    Proviamo a percorrere questa strada e vediamo dove porta... Fammi sapere se riesci a risolvere in questo modo. Così da evitare di usare quello dei tempi che è sicuramente più sofisticato... Male che va ci torniamo in seguito.

    A presto

    Ps: Scusatemi eventuali err ortografici.. Scrivo di getto e veloce.
  • Re: Limitazione scrittura textbox tag nfc

    Con Tab ci si potrebbe accedere, peró nell'evento exit della Textbox faccio il controllo se il numero di caratteri è diverso da 10. Ricapitolando, se faccio in modo da renderla invisibile l'unico modo per aggirare la protezione è conoscere esattamente la form in modo da scrivere esattamente 10 numeri quando a video non compare niente, mi sembra una situazione molto remota.
    Più che usare la funzione "mid" io farei un vero e proprio controllo sul primo carattere della stringa se equivale al carattere ascii 192 nel mio caso, altrimenti potrei aggirare il controllo digitando sia 10 che 11 caratteri.

    Ps: chiedo scusa se nonnho quotato il testo ma sto scrivendo da telefono.
  • Re: Limitazione scrittura textbox tag nfc

    Ok. Ma se ul focus é già sulla textbox e il lettore spara carattere speciale più codice ottieni 11 caratteri quindi se devi considerare solo gli ultimo dieci caratteri come fai? X questo avevo cennato la funzione mid o meglio ancora la funzione right... Se invece riesci ad escludere il primo carattere in altro modo anche quando la textbox ha già il focus allora va bene comunque... Il sistema sarebbe un po ... "inconsueto" ma se é sufficiente ok... Quindi hai risolto?
  • Re: Limitazione scrittura textbox tag nfc

    Angelo_Tbp ha scritto:


    Il sistema sarebbe un po ... "inconsueto" ma se é sufficiente ok... Quindi hai risolto?
    In teoria più o meno, adesso provo a fare qualche prova reale e a meno di altri problemi potrei anche lasciar correre in questo modo
Devi accedere o registrarti per scrivere nel forum
39 risposte