Newsgroup: it.comp.lang.visual-basic
Titolo: Controllo immissione separatore decimale-migliaia

 Ariecchime a sottoporvi un altro quesito.
In un datagrid rappresento campi tipo testo, tipo numerico e tipo valuta.
Per modificare i campi tipo valuta (rappresentati in griglia come 12,35)
devo utilizzare come separatore decimale il punto che automaticamente mi
trasforma in virgola, se invece digito 12,35 LUI me lo trasforma in 1235.
Avevo pensato di gestire la cosa dall'evento keypress e mutare la virgola in
punto, ma se poi voglio scrivere in un campo tipo testo allora mi sono
giocato la ",".
Imporre di utilizzare il punto ad un utente che davanti a se ha una sfilza
di cifre divise da virgole mi sembra cosa ardua.
Qualcuno mi può consigliare un metodo per ovviare a questo problema?
Grazie, SK
--
La pasienzia non è mai troppo (Totò)
<><><>
Esistono 10 tipi di persone: chi conosce il binario e chi no

Io uso il metodo della conversione della virgola in punto. Ma i miei utenti
non hanno necessità di inserire virgole nelle text box dove faccio la
conversione (per intenderci sono campi prezzo).
Nel tuo caso non so dirti. cmq pensa che se l'utente scrive 12.25 per lui è
più comodo usare il tastierino numerico.
Quindi imponi pure all'utente di usare il punto. Fatta l'abitudine non se ne
accorgerà neanche più :)
bye

 non se ne accorgerà neanche più :)
Non mi piace lasciare a qualcuno la possibilità di fare immissioni "libere".
Anche l'abitudine è una brutta bestia e spesso da questa bisogna
proteggersi. Immagina che uno degli utilizzatori del software sia abituato
ad usare la virgola, come la mettiamo se una mattina arriva dormiente e
carica 9,30 (930) ? invece di 9.30 ? (9,3)?
Poi saranno in almeno tre o quattro ad adoperare il software, non  mi fido.


Allora non saprei dirti. Non credo che tu possa decidere in quali celle
della griglia fare la conversione.
Cmq se trovi una soluzione fammelo sapere che cosě rislvo anche il mio
problema. (io infatti ho disabilitato l'immissione dalla griglia. e il
cliente č costretto, se vuole aggiornare i dati, ad immettere tutto tramite
delle text box).
bye

> Esistono 10 tipi di persone: chi conosce il binario e chi no
Questa frase te la rubo. troppo bella... :)

In news:Y%Dzb.5663$
5o6....@tornado.fastwebnet.it
, Ottomano Nicola
wrote:

Credo che un metodo ci sia, ovvero controllare il tipo di dati contenuti nel
campo di cui si vuole modificare il valore ed in base a quello cambiare la
virgola in punto  o meno.
Solo che prima di cimentarmi in questa cosa vorrei sapere se ci sono strade
alternative.
Ciao, SK
--
La pasienzia non č mai troppo (Totň)


 Qualcuno mi può consigliare un metodo per ovviare a questo problema?
l'immissione direttamente in griglia purtroppo ha i suoi contro (come
questo) , il metodo corretto dovrebbe essere quello di accettare sia virgola
che punto e poi in un evento successivo all'immissione trasformarlo in
quello che preferisci,ti chiedo:
 non puoi proprio rinunciare alla griglia ?
 non puoi "sprecare" texbox posizionate sopra le celle per gestire a pieno
l'inserimento ?
-- 
-Gigio@Work(?)-

 Questa frase te la rubo. troppo bella... :)
Fanno 0,05 Euro ad ogni utilizzo oltre alla citazione della fonte
(SpecialKeta)
:-P
Ciao, SK
--
La pasienzia non è mai troppo (Totò)
<><><>


 pieno l'inserimento ?
non mi rimane comunque il problema dei tipi di dati diversi? se devo
inserire una virgola in un campo di testo la trasformo comunque, non credo
che la textbox mi risolva il problema.
Ma a pensarci meglio, cosa cambia tra una textbox ed una cella? il controllo
lo posso effettuare sia nel keypress dell'una che dell'altra.
Mi dici un pò cosa cambierebbe con la textbox?
Questo, finora, è l'unico problema che ho modificando i dati direttamete
dalla griglia.


Con le textbox puoi decidere se fare la conversione solo sui campi che
decidi tu.
Ad esempio puoi convertire la virgola nei campi numerici e lasciarla invece
invariata nei campi testo.
Questo č il metodo che uso io (vedi mia risposta precedente)

 invece invariata nei campi testo.
Questo non lo puoi fare direttamente dalla griglia?
Come fai a sapere, senza del codice specifico (mi sembra adox), a conoscere
il tipo di dati che devi immettere?
Controlli l'intestazione di colonna? ma così non sarebbe troppo "statico"?


Non credo si possa fare dalla griglia.
Inoltre tu programmatore sai già se una textbox è adibita ad inserire un
prezzo o un campo di testo.
Quindi sei tu che decidi dove fare la conversione.
bye
-- 
Esistono 10 tipi di persone: chi conosce il binario e chi no
(Rubata a SpecialKeta :P )
web: 
http://www.nicolaottomano.it

 Quindi sei tu che decidi dove fare la conversione.
questa cosa, tanto per cambiare, non mi è molto chiara.
--
Esistono 10 tipi di persone: chi conosce il binario e chi no
(Rubata a SpecialKeta :P )
Complimenti, bella firma! ;-)
domani ti invio la prima fattura :-P
Scherzo, sfoggia, sfoggia.
Ciao, SK
--
La pasienzia non è mai troppo (Totò)
<><><>


In news:bqn2i1$254kcv$
1...@ID-174485.news.uni-berlin.de
, Gigio2k [work]
wrote:
Ho risolto così, credevo fosse più difficile e lunga la questione, invece.
Riferimento a microsoft ado extension.
in modulo:
public tblADOX as new adox.catalog
Public Sub CheckCellInput(dg As DataGrid, table As String)
Dim DataType As Integer
connessione.open ' apro connessione ado
Set tblADOX .ActiveConnection = connessione
DataType =
top.Tables.Item(table).Columns(dg.Columns.Item(dg.col).Caption).Type
Select Case DataType
'qui vanno inseriti i valori possibili di datatype
'con le relative istruzioni
'che attualmente non ho tra le mani
'(mi pare 6 per valuta, 202 per testo e 3 per numerico)
End Select
Ciao, SK
PS che ho postato a fare se poi ho risolto da solo con un mezzo che già
avevo in mente?
: - (
End Sub


 Ciao, SK
ciaociao

Aaaaaaah! SpecialKeta maledetto! mi ha fatto pagare 2 ricchi euri di fattura
per il brevetto della frase! :P
allora mi hai derubato!
Aaaaaaaaaah!
Ora toglierò il copyright dalla frase.... tanto è sotto licenza GPL ...   :D
bye
-- 
Esistono 10 tipi di persone: chi conosce il binario e chi no
(Rubata a SpecialKeta :P )
web: 
http://www.nicolaottomano.it