Article View: free.it.visual-basic
Article #2409Re: Vincolare le Textbox
From: Risberg
Date: Fri, 20 Jun 2003 23:12
Date: Fri, 20 Jun 2003 23:12
110 lines
4604 bytes
4604 bytes
Pino wrote:
> Ho un piccolo problema, vorrei vincolare alcune caselle di testo(textbox) ad
> accettare:
>
> 1) solo numeri
>
> 2) solo lettere (a b c ecc.)
>
> 3) un numero minimo di caretteri
>
> 4) che possa accettare solo dei numeri stabiliti da me
>
> C'� qualcuno che mi dire como posso scrivere il codice per ottenere questi
> risultati?
>
> Ringrazio anticipatamente a quelli che mi risponderanno Pino
>
>
Potresti provare a dare un occhiata a questo codice:
Per provarlo:
1) Crea un nuovo progetto
2) Aggiungi un form chiamandolo Form1
3) Aggiungi una textbox chiamandola Text1
4) Aggiungi una textbox chiamandola Text2
5) Incolla questo codice sul form prima creato
'--- INIZIO CODICE ---
Private Const MIN_STRING_LEN As Integer = 5
Private invalidChars() As String * 1 ' Deve contenere almeno un valore!!!
Private validChars() As String * 1 ' Deve contenere almeno un valore!!!
Private Sub Form_Load()
ReDim invalidChars(2)
invalidChars(0) = "0"
invalidChars(1) = "1"
invalidChars(2) = "2"
ReDim validChars(3)
validChars(0) = "9"
validChars(1) = "6"
validChars(2) = "7"
validChars(3) = "4"
End Sub
Private Sub Text1_Validate(Cancel As Boolean)
' Controlla che il testo immesso sia maggiore del minimo
' impostato nella costante MIN_STRING_LEN
If Len(Me.Text1.Text) < MIN_STRING_LEN Then
Call MsgBox("Il numero dei caratteri immessi deve essere
maggiore di " & CStr(MIN_STRING_LEN))
Cancel = True
End If
End Sub
Private Sub Text1_Change()
' Controlla che l'ultimo carattere immesso sia numerico
' se non lo � elimina l'ultimo carattere e reimposta il cursore
' sull'ultimo elemento.
If Not IsNumeric(Right(Me.Text1.Text, 1)) Then
If Me.Text1.Text <> "" Then
Me.Text1.Text = Left(Me.Text1.Text, Len(Me.Text1.Text) - 1)
Me.Text1.SelStart = Len(Me.Text1.Text)
Else
Me.Text1.Text = ""
End If
End If
' Controlla che nella textbox non vengano immessi caratteri
' (o cife) non validi (La lista di questi caratteri sar� contenuta
' nell'array monodimensionale invalidChars
For i = 0 To UBound(invalidChars)
If Right(Me.Text1.Text, 1) = invalidChars(i) Then
If Me.Text1.Text <> "" Then
Me.Text1.Text = Left(Me.Text1.Text, Len(Me.Text1.Text) - 1)
Me.Text1.SelStart = Len(Me.Text1.Text)
Else
Me.Text1.Text = ""
End If
End If
Next i
End Sub
Private Sub Text2_Change()
' Controlla che nella textbox vengano immessi solo i caratteri
' (o cife) non validi (La lista di questi caratteri sar� contenuta
' nell'array monodimensionale invalidChars
Dim fieldIsCorrect As Boolean: fieldIsCorrect = False
For i = 0 To UBound(validChars)
If Right(Me.Text2.Text, 1) = validChars(i) Then
fieldIsCorrect = True
End If
Next i
If Not fieldIsCorrect Then
If Me.Text2.Text <> "" Then
Me.Text2.Text = Left(Me.Text2.Text, Len(Me.Text2.Text) - 1)
Me.Text2.SelStart = Len(Me.Text2.Text)
Else
Me.Text2.Text = ""
End If
End If
End Sub
'--- FINE CODICE ---
Technical Details
Message-ID:
<oxMIa.119964$pR3.2653511@news1.tin.it>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!pd2nf1so.cg.shawcable.net!residential.shaw.ca!in.100proofnews.com!in.100proofnews.com!nntp.infostrada.it!news-out.tin.it!news-in.tin.it!news1.tin.it.POSTED!not-for-mailReferences:
<bcvrpi$cr$1@lacerta.tiscalinet.it>Show Full Headers
Complete Article Headers
X-Google-Language: ITALIAN,ASCII X-Google-Thread: f94ee,3b6cec33c9e0e27c X-Google-Attributes: gidf94ee,public X-Google-ArrivalTime: 2003-06-20 16:12:21 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!pd2nf1so.cg.shawcable.net!residential.shaw.ca!in.100proofnews.com!in.100proofnews.com!nntp.infostrada.it!news-out.tin.it!news-in.tin.it!news1.tin.it.POSTED!not-for-mail From: Risberg <risberg@email.it> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030529 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: free.it.visual-basic Subject: Re: Vincolare le Textbox References: <bcvrpi$cr$1@lacerta.tiscalinet.it> In-Reply-To: <bcvrpi$cr$1@lacerta.tiscalinet.it> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Lines: 111 Message-ID: <oxMIa.119964$pR3.2653511@news1.tin.it> Date: Fri, 20 Jun 2003 23:12:20 GMT NNTP-Posting-Host: 80.182.253.99 X-Complaints-To: newsmaster@tin.it X-Trace: news1.tin.it 1056150740 80.182.253.99 (Sat, 21 Jun 2003 01:12:20 MET DST) NNTP-Posting-Date: Sat, 21 Jun 2003 01:12:20 MET DST Organization: TIN