31
Programmazione / Re:Oggetto DateBox, controllo digitazione
« il: 27 Novembre 2018, 15:25:29 »A me sembra un non problema, occorre semplificare al massimo l'intervento del nostro codice sul comportamento della grafica.Benissimo, però, come avrai certamente capito quello del DateBox è solo un esempio; il problema si può presentare alla fine di una digitazione qualsiasi all'interno di una TextBox o di una TextArea o ancora diun a ComboBox, ...
Se, come succede ad esempio in DBSpeedyTest, dopo aver scritto la/le date devi agire su un widget (abitualmente un Button) il controllo dell'esattezza dei dati lo fai li e se qualcosa non va metti a Null il valore e gli dai il SetFocus
Non sempre conviene operare come suggerisci tu, anche perchè, così facendo, vai ad alterare l'errata digitazione che invece deve essere mantenuta per permettere all'utente di vedere quello che ha sbagliato, in modo che possa apportare la correzione. Apponendo NULL infatti obblighi la ridigitazione completa del dato, con la possibilità di ripetere l'errore di prima.
La verità è che, secondo me, l'evento LostFocus dovrebbe essere scatenato in Gambas ancor prima che l'oggetto corrente perda il focus, esattamente come succede in Visual Basic. Ciò permetterebbe di operare un controllo a posteriori sulla digitazione appena ultimata, ancor prima che l'oggettio perda il Focus e, in caso di errori, mantenere il Foicus all'interno dell'oggetto corrente fino alla correzione formale del dato digitato.
Il disturbo appena citato che soffro da quando ho conosciuto Gambas, è secondo me un corto circuito del linguaggio vestito della sua parte grafica. Esso costituisce uno dei motivi per cui vorrei passare a scrivere con un altro strumento di programmazione, ma probabilmente sono ormai troppo vecchio per studiare ancora.