Differenze tra le versioni di "SELECT CASE...CASE...END SELECT"
m (Select Case moved to SELECT CASE...CASE...END SELECT: Parole chiave, non funzioni) |
|||
Riga 48: | Riga 48: | ||
---- | ---- | ||
Come si può notare dall'esempio, nel secondo CASE sono stati definiti tre valori (F1, F2 e Home); alla pressione dei tasti corrispondenti verrà eseguita la stessa istruzione. | Come si può notare dall'esempio, nel secondo CASE sono stati definiti tre valori (F1, F2 e Home); alla pressione dei tasti corrispondenti verrà eseguita la stessa istruzione. | ||
+ | |||
+ | Se la verifica deve essere effettuata in un ambito ben determinato di valori, allora si utilizzerà '''TO''': | ||
+ | |||
+ | ---- | ||
+ | Esempio: | ||
+ | |||
+ | '''SELECT CASE''' variabile | ||
+ | '''CASE''' variabile1 '''TO''' variabile2 | ||
+ | Message.Info("rientra nell'ambito da variabile1 a variabile 2") | ||
+ | '''CASE''' variabile3 '''TO''' variabile4 | ||
+ | Message.Info("rientra nell'ambito da variabile3 a variabile 4") | ||
+ | '''END SELECT''' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Se la verifica deve essere effettuata tra due o più variabili, si utilizzerà '''&''': | ||
+ | |||
+ | ---- | ||
+ | Esempio: | ||
+ | |||
+ | '''SELECT CASE''' variabileA '''&''' variabileB | ||
+ | '''CASE''' variabile1 '''&''' variabile2 | ||
+ | Message.Info("variabileA è uguale a variabile1, variabileB è uguale a variabile 2") | ||
+ | '''CASE''' variabile3 '''&''' variabile4 | ||
+ | Message.Info("variabileA è uguale a variabile3, variabileB è uguale a variabile 4") | ||
+ | '''END SELECT''' | ||
+ | |||
+ | ---- |
Versione delle 20:37, 24 gen 2012
SELECT CASE variabile CASE variabile(1) <<vostro codice 1>> CASE variabile(2) <<vostro codice 2>> CASE variabile(3) <<vostro codice 3>> CASE ELSE oppure DEFAULT <<vostro codice 4>> END SELECT
Esegue del codice previa verifica della condizione
Spiegazione
Ogni valore che assume variabile esegue il codice successivo alla verifica. Questa funzione è simile a If..Then..Else con la differenza che è più immediata e pulita la lettura del codice, e prevede un controllo più stretto sul range di valori. Inoltre è possibile gestire il flusso di dati in modo che in caso non sia soddisfatta nessuna condizione il sistema esegua qualche cosa, questo è possibile tramite CASE ELSE o DEFAULT.
Esempio 1 - Verifica pressione di un tasto
SELECT CASE key.Code CASE key.Escape Message.Info("premuto il tasto ESC") CASE key.F1 Message.Info("premuto il tasto F1") DEFAULT Message.Info("tasto non riconosciuto") END SELECT
Spiegazione
Ad ogni pressione di un tasto il sistema verifica a quale codice della tastiera corrisponde e si comporta di conseguenza. Per provare l'esempio è sufficiente scrivere il codice sopra riportato all'interno di una TextBox.
Per associare lo stesso codice a più situazioni, è possibile definirli nella stessa istruzione CASE, separando ogni valore da una virgola:
Esempio:
SELECT CASE key.Code CASE key.Escape Message.Info("premuto il tasto ESC") CASE key.F1, key.F2, Key.Home Message.Info("premuto il tasto F1") DEFAULT Message.Info("tasto non riconosciuto") END SELECT
Come si può notare dall'esempio, nel secondo CASE sono stati definiti tre valori (F1, F2 e Home); alla pressione dei tasti corrispondenti verrà eseguita la stessa istruzione.
Se la verifica deve essere effettuata in un ambito ben determinato di valori, allora si utilizzerà TO:
Esempio:
SELECT CASE variabile CASE variabile1 TO variabile2 Message.Info("rientra nell'ambito da variabile1 a variabile 2") CASE variabile3 TO variabile4 Message.Info("rientra nell'ambito da variabile3 a variabile 4") END SELECT
Se la verifica deve essere effettuata tra due o più variabili, si utilizzerà &:
Esempio:
SELECT CASE variabileA & variabileB CASE variabile1 & variabile2 Message.Info("variabileA è uguale a variabile1, variabileB è uguale a variabile 2") CASE variabile3 & variabile4 Message.Info("variabileA è uguale a variabile3, variabileB è uguale a variabile 4") END SELECT