Username: Password: oppure
Visual Basic 6 - solo numeri in una textbox
Forum - Visual Basic 6 - solo numeri in una textbox

Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 17:13
Domenica, 16/09/2007
Questo topic è stato chiuso dal moderatore

Ciao!
Come già suggerisce il titolo, vorrei sapere come far accettare a una textbox solo numeri, cioè che in quella textbox si possono digitare numeri e non lettere(se si prova a digitare una lettera nella textbox non deve comparire nulla), spero ke qualcuno di voi mi risponda...:k:


...
PM
Avatar
Maffo23 (Ex-Member)
Pro


Messaggi: 63
Iscritto: 14/12/2006

Segnala al moderatore
Postato alle 19:17
Domenica, 16/09/2007
be...esiste la funzione IsNumeric....

PM
Avatar
iGuLy (Ex-Member)
Pro


Messaggi: 66
Iscritto: 17/05/2007

Segnala al moderatore
Postato alle 19:33
Domenica, 16/09/2007
Codice sorgente - presumibilmente Delphi

  1. If KeyAscii <> 8 Then
  2.         If KeyAscii > 57 Or KeyAscii < 48 Then
  3.             KeyAscii = 0
  4.         End If
  5.     End If



Potresti mettere nell'evento KeyPress della TextBox
questo, che quando si premono tasti che non sono numerici elimina l'ultimo carattere.
Spero di essere stato di aiuto ciao

PM
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 21:04
Domenica, 16/09/2007
Si, funziona, grazie8-)
Perdona la mia ignoranza, ma mi diresti ke significa keyAscii??


...
PM
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 21:17
Domenica, 16/09/2007
keyAscii e' un parametro passato dal sistema tramite l'evento KeyPress e rappresenta il valore ASCII del tasto pressato.

PM
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 21:19
Domenica, 16/09/2007
Grazie x la spiegazione, xò è sorto un nuovo problema:
Con questo sistema è vero che la textbox accetta solo numeri, ma a me servirebbe che accettasse anche la virgola x i numeri decimali.
Ringrazio chiunque mi ha o tenti di aiutarmi.


...
PM
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 21:25
Domenica, 16/09/2007
Beh ... prova da solo, altrimenti quando impari ...

Una dritta ... in questa linea, controlla anche il codice ascii della virgola

If KeyAscii > 57 Or KeyAscii < 48 Then

PM
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 13:24
Lunedì, 17/09/2007
Ho risolto, anche se la textbox mia accetta pure il punto e il - , però in fondo è meglio xkè il - lo posso utilizzare x i numeri negativi e il punto x separare le migliaia.:D


...
PM
Avatar
SuperTiz (Ex-Member)
Pro


Messaggi: 97
Iscritto: 25/05/2007

Segnala al moderatore
Postato alle 20:23
Martedì, 18/09/2007
ciao GrG, probabilmente la mia risposta ti sarà inutile lol, però potresti usare questo semplicissimo codice :


Private Sub Text1_Change()
Dim Char As String
Char = Right(Text1.Text, 1)
If Char <> "1" And Char <> "2" And Char <> "3" And Char <> "4" And Char <> "5" And Char <> "6" And Char <> "7" And Char <> "8" And Char <> "9" And Char <> "0" And Char <> "," And Char <> "-" Then
Text1.Text = ""
End If
End Sub


in questo modo la tua textbox accetta tutti i numeri dallo 0 al 9, la virgola e il segno meno. puoi aggiungere qualsiasi carattere da "accettare" semplicemente aggiungendo "And Char <> "carattere da accettare" prima del "then"
cosi devi evitare di prevedere il codice ascii del carattere che vuoi accettare

spero che ti sia utile
ciaoo

edit : soltanto che se uno torna indietro col puntatore puo mettere tutti i caratteri che vuole lol

come non detto XDXD :rotfl::rotfl:

Ultima modifica effettuata da SuperTiz il 18/09/2007 alle 20:28
PM
Pagine: [ 1 2 ] Precedente | Prossimo