Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 -
Forum - Visual Basic 6 - "forzare" una textbox

Avatar
Due (Normal User)
Pro


Messaggi: 68
Iscritto: 19/10/2007

Segnala al moderatore
Postato alle 21:39
Sabato, 17/11/2007
Come posso fare a fare in modo che in una textbox sia possibile immetere solo certi caratteri? avevo trovato un programma simile nell'area download ma non riesco più a trovarlo :D

PM Quote
Avatar
LuigiBiasi (Normal User)
Expert


Messaggi: 237
Iscritto: 15/09/2006

Segnala al moderatore
Postato alle 22:47
Sabato, 17/11/2007
dovresti agire nell'evento Change della textbox e prendere l'ultimo valore e verificarlo. Per esempio:
Codice sorgente - presumibilmente VB.NET

  1. 'evento change della textbox
  2. dim c as string
  3. c = right(text1.text,1)
  4. select case c
  5.  case "a"
  6.   text1.text = left(text1.text,len(text1.text)-1)
  7.  case "e"
  8.   text1.text = left(text1.text,len(text1.text)-1)
  9.  case "i"
  10.   text1.text = left(text1.text,len(text1.text)-1)
  11.  case "o"
  12.   text1.text = left(text1.text,len(text1.text)-1)
  13.  case "u"
  14.   text1.text = left(text1.text,len(text1.text)-1)
  15. end select


questo esempio non permette di scrivere le vocali.
Ciao.

PM Quote
Avatar
gius (Ex-Member)
Expert


Messaggi: 294
Iscritto: 20/06/2007

Segnala al moderatore
Postato alle 7:04
Domenica, 18/11/2007
Questo accetta solo caratteri numerici
Codice sorgente - presumibilmente VB.NET

  1. in un modulo bas
  2.  
  3. Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  4.  
  5. Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  6. Public Const GWL_STYLE = (-16)
  7. Public Const ES_NUMBER = &H2000&
  8. Public Sub SetNumber(Text1 As TextBox, Flag As Boolean)
  9. Dim curstyle As Long
  10. Dim newstyle As Long
  11.  
  12. curstyle = GetWindowLong(Text1.hwnd, GWL_STYLE)
  13.  
  14. If Flag Then
  15. curstyle = curstyle Or ES_NUMBER
  16. Else
  17. curstyle = curstyle And (Not ES_NUMBER)
  18. End If
  19.  
  20. newstyle = SetWindowLong(Text1.hwnd, GWL_STYLE, curstyle)
  21. Text1.Refresh
  22. End Sub



La sintassi da inserire nel Form.Load é  questa
Codice sorgente - presumibilmente Plain Text

  1. SetWindowLong(Text1.hwnd, GWL_STYLE, curstyle)


__________________________________________________
La programmazione non é una cosa che piace a tutti :D

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 14:33
Domenica, 18/11/2007
credo che sia il mio il programma a cui ti riferisci

http://www.pierotofy.it/pages/sorgenti/Visual_Basic_p2/

il programma si chiama: Solo caratteri selezionati

PM Quote
Avatar
gius (Ex-Member)
Expert


Messaggi: 294
Iscritto: 20/06/2007

Segnala al moderatore
Postato alle 14:39
Lunedì, 19/11/2007
antometal non per offenderti ma questo codice l'ho fatto io senza "sbirciare" da altri prog:ot::ot::-|

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 16:24
Lunedì, 19/11/2007
nn mi offendo...

ti assicuro xò che questo codice l' ho scritto da me in vista di un compito scolastico, ed è sicuramente possibile che sia simile al tuo (che sinceramente nn ho mai visto) o al codice di altri programmatori in quanto sia un codice semplice, breve e credo sia l' unico modo per realizzare quel programma

PM Quote
Avatar
gius (Ex-Member)
Expert


Messaggi: 294
Iscritto: 20/06/2007

Segnala al moderatore
Postato alle 7:33
Martedì, 20/11/2007
FORSE SIMILE!!!!!:D:D

PM Quote