|
Iscrizione su Internet
Per fissare i concetti esposti in questo articolo impostiamo un esempio che sfrutti gli
elementi descritti fino ad ora. Si vuole disegnare un form di iscrizione ad un generico
servizio di internet in cui inserire i campi anagrafici (alcuni dei quali obbligatori) ed
un tasto per inviare liscrizione. Supponiamo che i campi nome e cognome siano
obbligatori ed impostiamo inoltre un controllo sulletà perché sia un campo
numerico e che non superi 120 (credo che come età massima per utilizzate Internet vada
più che bene). Il disegno dellinterfaccia dovrà prevedere
tre TextBox in cui inserire nome, cognome ed età (TxtNome, TxtCognome, TxtEta)
due pulsanti per confermare o no liscrizione (CmdOK,CmdAnnulla).
tre etichette per indicare il significato dei campi, una etichetta che spiega come
utilizzare il servizio e le etichette con lasterisco per indicare quali campi sono
obbligatori.
Si deve ora scrivere il codice necessario alla convalida dei dati nellevento
Validate dei tre TextBox. Per il nome e cognome controlliamo in unistruzione If ..
Then che la stringa contenuta nei TextBox non sia vuota, in caso contrario visualizziamo
un messaggio per avvisare che i campi sono obbligatori e poniamo Cancel=True per far sì
che il focus rimanga sul TextBox.
Private Sub TxtNome_Validate(Cancel As Boolean)
'viene controllato se il campo non contiene nessun carattere
If TxtNome.Text = "" Then
MsgBox "Il campo Nome è Obbligatorio",
vbExclamation, "Attenzione"
Cancel = True
End If
End Sub
Private Sub TxtCognome_Validate(Cancel As Boolean)
'viene controllato se il campo non contiene nessun carattere
If TxtCognome.Text = "" Then
MsgBox "Il campo Cognome è Obbligatorio",
vbExclamation, "Attenzione"
Cancel = True
End If
End Sub
|
Per il TextBox delletà si devono effettuare due controlli:
Il testo immesso deve essere un valore numerico, per questo usiamo la funzione
IsNumeric (espressione), già illustrata nei precedenti articoli che restituisce True se
il valore dellespressione può essere valutato come un numero.
Se il valore di TxtEta è un numero allora si deve controllare che sia compreso tra
0 e 120 con unulteriore istruzione If, in caso contrario viene visualizzato un
messaggio di avviso:
Private Sub TxtEta_Validate(Cancel As Boolean)
'viene controllato che il campo sia numerico
If IsNumeric(TxtEta) Then
'viene controllato se l'età e compresa tra zero e 120
If TxtEta < 0 Or TxtEta > 120 Then
MsgBox "L'età deve essere compresa tra 0 e 120",
vbCritical, "Attenzione"
Cancel = True
End If
Else
MsgBox "Il campo deve essere numerico", vbCritical,
"Attenzione"
Cancel = True
End If
End Sub
|
Infine nellevento click dei due pulsanti si dovrà scrivere il codice necessario per
liscrizione al servizio o per il ritorno alla finestra precedente, ma questo sarà
argomento di altri articoli, per adesso limitiamoci a scrivere il codice per visualizzare
i messaggi di avvenuta o annullata iscrizione.
Private Sub CmdAnnulla_Click() 'viene visualizzato il messaggio di iscrizione annullata
MsgBox "Iscrizione Annullata", vbInformation, "OK" End Sub Private Sub
CmdOk_Click() 'viene visualizzato il messaggio di avvenuta iscrizione MsgBox
"Iscrizione avvenuta con successo", vbInformation, "OK" End Sub
Da notare che se impostiamo il pulsante CmdOk come pulsante di default, nel momento in cui
lutente preme il tasto invio, quando si trova in uno dei tre TextBox, non viene
attivato levento Validate, questo purtroppo è un bug di VB6 per questo in questi
casi è consigliabile non impostare pulsanti di default.
In queste pg ci siamo occupati dei controlli più usati nelle applicazioni
evidenziando, con unapplicazione di esempio, i concettii. Prossimamente continueremo
il viaggio allinterno degli altri controlli di Visual Basic.
|
|
|