PDA

View Full Version : HELP!!!!Rendere text box in grado di ricevere solo numeri


plus18
05-02-2006, 09:55
Ciao sto cercando di fare un programma di matematica quidi è indispensabile che quando l'utente nella textbox di input inserisca una lettera o segno diverso da numeri venga visuallizato un messaggio di errore, oppure il tasto digitato a meno ke n sia numero non venga scritto.


Rispondete presto !!!!!

GRAZIE ANTICIPATE A CHI RISPONDERA' :sofico: :sofico:

motogpdesmo16
05-02-2006, 10:38
in che linguaggio intendi sviluppare questo applicativo di matematica??
Se è il Visual Basic 6, potresti sviluppare un controllo da aggiungere all'evento Lost focus della textbox che controlla carattere per carattere se è un numero o un carattere diverso dal numero. Ovviamente devi controllare il codice ASCII...

se non è in vb6 ma in vb.net, se non ricordo male c'è proprio la proprietà preimpostata "Num Only" o una cosa del genere.

in caso di problemi posta pure!
ciao

plus18
05-02-2006, 16:37
uso il visual basic 6 mi potresti fare un'esempio di come potrei utilizzare lost focus ?



Grazie :D

motogpdesmo16
05-02-2006, 18:38
tanto x farti un esempio: rendere il contenuto di una textbox in maiuscolo.

all'evento lostfocus di text1

text1.text=Ucas(text1.text)

stessa cosa dovresti fare per il tuo controllo: ogni carattere deve essere un numero oppure può essere una virgola e devi inoltre controllare che non ci sia più di una virgola (in un numero non ci possono essere due parti decimali).

Ziosilvio
06-02-2006, 10:38
sto cercando di fare un programma di matematica quidi è indispensabile che quando l'utente nella textbox di input inserisca una lettera o segno diverso da numeri venga visuallizato un messaggio di errore, oppure il tasto digitato a meno ke n sia numero non venga scritto
Una casella di testo accetta stringhe di testo, per definizione.
Quindi, non puoi usare una TextBox per leggere solo caratteri numerici.
Invece, puoi scrivere un controllo sulla stringa immessa che verifichi se essa corrisponde a un numero, e segnala un errore in caso contrario.

cionci
06-02-2006, 11:34
Volendo si può controllare anche l'evento Change della textBox e verificare che ogni carattere immesso sia un numero...

cionci
06-02-2006, 12:23
Ad esempio:

Private Sub Text1_Change()
Dim s
s = Right(Text1.Text, 1)

If Len(s) = 1 Then
If (Asc(s) <= Asc("0") Or Asc(s) >= Asc("9")) And s <> "." Then
Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
End If
End If
End Sub

Questo è solo un esempio...e viene controllato solo l'ultimo carattere... Per bypassare questo controllo basta inserire le lettere prima dell'ultimo carattere...
volendo però si potrebbe controllare e "ripulire" l'intera stringa...