Una istruzione condizionale è uno speciale comando che permette di valutare una
o più condizioni per eseguire un particolare blocco di istruzioni.
Il concetto è: se si verifica la condizione allora esegui questa istruzione.
|
|
In Visual Basic le istruzioni condizionali più semplici sono: |
|
If "condizione" then "istruzione" End if
If "condizione" then "istruzione" else "istruzione" End if
|
Vediamo un esempio:
|
|
Sub valuta()
VariabileInput = _
InputBox("immettere un numero o una stringa di caratteri")
'inizio dell istruzione condizionale
If IsNumeric(VariabileInput) Then
MsgBox "la variabile è un numero", vbInformation, "valutazione 1"
Else
MsgBox "la variabile è un carattere o una stringa di caratteri", _
vbInformation, "valutazione 2"
End If
'fine dell istruzione condizionale
End Sub
|
Soffermiamo la nostra attenzione su due aspetti: |
- Nella routine è usata listruzione: "IsNumeric" che definisce se il valore
memorizzato nella variabile "VariabileInput" è numerico o stringa.
- Listruzione "InputBox" apre una finestra contenente una casella di testo,
se immettiamo del testo e clicchiamo "Ok" la funzione restituisce il valore digitato.
|
Con listruzione ElseIf è possibile valutare più espressioni allinterno dello stesso blocco.
Esempio:
|
|
Sub ValutaNumero()
VariabileInput = InputBox("immettere un numero")
If VariabileInput <= 1 Then
MsgBox "la variabile è minore o uguale a 1", vbInformation, _
"valutazione 1"
ElseIf (VariabileInput > 1) And (VariabileInput <= 5) Then
MsgBox "la variabile è maggiore di 1 e minore o uguale a 5", _
vbInformation, "valutazione 2"
ElseIf (VariabileInput > 5) And (VariabileInput <= 10) Then
MsgBox "la variabile è maggiore di 5 e minore o uguale a 10", _
vbInformation, "valutazione 3"
Else
MsgBox "la variabile è maggiore di 10", vbInformation, _
"valutazione 4"
End If
End Sub
|
Soffermiamo la nostra attenzione su un aspetto: |
- Nella routine sono usati degli operatori logici e matematici come: "And", ">", "<=".
Essi verranno trattati nel prossimo paragrafo.
|
Una istruzione molto simile a "If ... ElseIf ..." è "Select Case ..."
Proviamo a modificare lesempio precedente:
|
|
Sub valutaNumero()
VariabileInput = InputBox("immettere un numero")
Select Case VariabileInput
Case Is <= 1
MsgBox "la variabile è minore o uguale a 1", vbInformation, _
"valutazione 1"
Case 2 To 5
MsgBox "la variabile è maggiore di 1 e minore o uguale a 5", _
vbInformation, "valutazione 2"
Case 6 To 10
MsgBox "la variabile è maggiore di 5 e minore o uguale a 10", _
vbInformation, "valutazione 3"
Case Else
MsgBox "la variabile è maggiore di 10", vbInformation, _
"valutazione 4"
End Select
End Sub
|
|