Differenze tra le versioni di "SELECT CASE...CASE...END SELECT"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
  SELECT CASE variabile
+
  '''SELECT CASE''' variabile
   CASE ''variabile(1)''
+
   '''CASE''' ''variabile(1)''
 
   <<vostro codice 1>>
 
   <<vostro codice 1>>
   CASE ''variabile(2)''
+
   '''CASE''' ''variabile(2)''
 
   <<vostro codice 2>>
 
   <<vostro codice 2>>
   CASE ''variabile(3)''
+
   '''CASE''' ''variabile(3)''
 
   <<vostro codice 3>>
 
   <<vostro codice 3>>
   CASE ELSE oppure DEFAULT
+
   '''CASE ELSE''' oppure '''DEFAULT'''
 
   <<vostro codice 4>>
 
   <<vostro codice 4>>
  END SELECT  
+
  '''END SELECT'''
 
''' Esegue del codice previa verifica della condizione '''
 
''' Esegue del codice previa verifica della condizione '''
 
----
 
----
Riga 15: Riga 15:
  
 
Ogni valore che assume variabile esegue il codice successivo alla verifica.
 
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.
+
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'''.
 
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'''
 
''Esempio 1'' - '''Verifica pressione di un tasto'''
  
  SELECT CASE key.Code
+
  '''SELECT CASE''' key.Code
   CASE key.Escape
+
   '''CASE''' key.Escape
 
   Message.Info("premuto il tasto ESC")
 
   Message.Info("premuto il tasto ESC")
   CASE key.F1
+
   '''CASE''' key.F1
 
   Message.Info("premuto il tasto F1")
 
   Message.Info("premuto il tasto F1")
   DEFAULT  
+
   '''DEFAULT'''
 
   Message.Info("tasto non riconosciuto")
 
   Message.Info("tasto non riconosciuto")
  END SELECT  
+
  '''END SELECT'''
 
''Spiegazione''
 
''Spiegazione''
  
Riga 37: Riga 37:
 
Esempio:
 
Esempio:
  
  SELECT CASE key.Code
+
  '''SELECT CASE''' key.Code
   CASE key.Escape
+
   '''CASE''' key.Escape
 
   Message.Info("premuto il tasto ESC")
 
   Message.Info("premuto il tasto ESC")
   CASE key.F1, key.F2, Key.Home
+
   '''CASE''' key.F1, key.F2, Key.Home
 
   Message.Info("premuto il tasto F1")
 
   Message.Info("premuto il tasto F1")
   DEFAULT  
+
   '''DEFAULT'''
 
   Message.Info("tasto non riconosciuto")
 
   Message.Info("tasto non riconosciuto")
  END SELECT  
+
  '''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.
 
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.

Versione delle 17:07, 25 set 2008

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.