Oppure

Loading
11/12/10 17:39
BlackMamba
Salve, siccome mi sto dilettando in un programmino per la conversione tra basi numeriche, vorrei fare in modo che se ad esempio nella conversione ottale a decimale nella textbox viene messo 8 o 9 deve uscire una msgbox che avverte che i numeri da inserire sono da 0 a 7.
ho fatto in questo modo:
if InStr(1, Text2.Text, 8)=True Then
    MsgBox "Inserire valori compresi tra 0 e 7"
    ....
End If


Dove sbaglio??Non mi da mai errore se metto un 8 nella textbox.
aaa
11/12/10 18:21
a_butta
Fai un controllo sul KeyPress piuttosto che sull'OnChage: in tal modo è molto più efficiente perchè ti fa il controllo sul singolo carattere che tu inserisci.
Mi pare dovesse essere qualcosa del genere:
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim N As Integer
N = KeyAscii
If Not ((N <= 55) And (N >= 48)) And Not ((N = 127) Or (N = 8)) Then
    MsgBox ("Il Numero deve essere compreso tra 0 e 7")
    KeyAscii = 0
End If

In tal modo escludi qualsiasi tasto che non sia tra 0e7 e che non sia DEL e il BACKSPACE
aaa
11/12/10 18:54
BlackMamba
Postato originariamente da a_butta:

Fai un controllo sul KeyPress piuttosto che sull'OnChage: in tal modo è molto più efficiente perchè ti fa il controllo sul singolo carattere che tu inserisci.
Mi pare dovesse essere qualcosa del genere:
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim N As Integer
N = KeyAscii
If Not ((N <= 55) And (N >= 48)) And Not ((N = 127) Or (N = 8)) Then
    MsgBox ("Il Numero deve essere compreso tra 0 e 7")
    KeyAscii = 0
End If

In tal modo escludi qualsiasi tasto che non sia tra 0e7 e che non sia DEL e il BACKSPACE


Grazie...anche così non sarebbe male...ho risolto anche io (perdendoci tempo :)) facendo il contrario...ovvero al posto di True ho messo False...quindi ora in pratica se non è presente esegue le istruzioni, altrimenti esce l'avviso...grazie mille comunque per la risposta ;)
Ultima modifica effettuata da BlackMamba 11/12/10 18:55
aaa