Istruzioni condizionali

From Apache OpenOffice Wiki
< IT‎ | Documentation‎ | BASIC Guide
Revision as of 21:17, 25 June 2009 by G11nAutomation (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Utilizzate le istruzioni condizionali per limitare l'esecuzione di un blocco di codice finché non è soddisfatta una particolare condizione.

If...Then...Else

L'istruzione condizionale più comune è l'istruzione If come illustrato nell'esempio seguente:

If A > 3 Then
  B = 2
End If

L'assegnazione B = 2 si verifica solo quando il valore della variabile A è maggiore di tre. Una variazione dell'istruzione If è la clausola If/Else:

If A > 3 Then
  B = 2
Else
  B = 0
End If

In questo esempio, alla variabile B viene assegnato il valore 2 se A è maggiore di 3; in caso contrario a B viene assegnato il valore 0.

Per dichiarazioni più complesse, è possibile inserire a cascata l'istruzione If, ad esempio:

If A = 0 Then
  B = 0
ElseIf A < 3 Then
  B = 1
Else 
  B = 2
End If

Se il valore della variabile A è uguale a zero, a B viene assegnato il valore 0. Se A è minore di 3 (ma diverso da 0), a B viene assegnato il valore 1. In tutti gli altri casi (ovvero, se A è maggiore o uguale a 3), a B viene assegnato il valore 2.

Select...Case

L'istruzione Select...Case è un'alternativa all'utilizzo di una serie di istruzioni If ed è utilizzata quando occorre verificare un valore a fronte di diverse condizioni:

Select Case DayOfWeek
  Case 1:
    NameOfWeekday = "Sunday"
  Case 2: 
    NameOfWeekday = "Monday"
  Case 3: 
    NameOfWeekday = "Tuesday"
  Case 4:
    NameOfWeekday = "Wednesday"
  Case 5:
    NameOfWeekday = "Thursday"
  Case 6:
    NameOfWeekday = "Friday"
  Case 7:
    NameOfWeekday = "Saturday"
End Select

In questo esempio, il nome del giorno della settimana corrisponde a un numero, così che alla variabile DayOfWeek è assegnato il valore 1 per Sunday, il valore 2 per Monday e così via.

Il comando Select non è limitato alle semplici assegnazioni 1:1. Potete specificare anche operatori di confronto o elenchi di espressioni in una clausola Case. L'esempio seguente elenca la varianti di sintassi di maggiore importanza:

Select Case Var
  Case 1 To 5                   
    ' ... Var is between the numbers 1 and 5
  Case 6, 7, 8                  
    ' ... Var is 6, 7 or 8
  Case Var > 8 And Var < 11     
    ' ... Var is greater than 8 and less than 11
  Case Else
    ' ... all other instances
End Select
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools