{{htmlmetatags>metatag-robots=()
metatag-title=(SELECT CASE...CASE...CASE ELSE...ENDSELECT | ugBASIC User Manual)
metatag-keywords=(ugBASIC,Commodore 64,Commodore PLUS/4,ZX Spectrum)
metatag-description=(Pagina del manuale per SELECT CASE...CASE...CASE ELSE...ENDSELECT)
metatag-media-og:image=(:ugbasic:logo-ugbasic-fb.png)
metatag-og:title=(SELECT CASE...CASE...CASE ELSE...ENDSELECT | ugBASIC User Manual)
metatag-og:description=(Pagina del manuale per SELECT CASE...CASE...CASE ELSE...ENDSELECT)
}}
====== ugBASIC Manuale Utente ======
===== SELECT CASE...CASE...CASE ELSE...ENDSELECT ✓ =====
===== SINTASSI =====
SELECT CASE expression
CASE value1:
...
CASE value2:
...
...
[ CASE ELSE ]
...
ENDSELECT
==== SCOPO ====
Il comando ''SELECT CASE'' fa parte della struttura
''SELECT CASE...END SELECT''. Consente di eseguire diversi blocchi di
codice a seconda del valore di una variabile o espressione. In pratica,
è come avere una serie di "casi" e il programma esegue il codice
corrispondente al caso che si verifica.
L'espressione viene valutata all'inizio del blocco di controllo e
il suo valore viene confrontato con i valori specificati nei casi.
Ogni ''CASE'' rappresenta un possibile valore o un intervallo di
valori dell'espressione. All'interno di ogni caso, inserisci le
istruzioni che verranno eseguite se il valore dell'espressione
corrisponde a quel caso.
Il ''CASE ELSE'' è facoltativo e viene eseguito se nessun caso
precedente è vero. Nei computer a 8 bit, la semantica di
''SELECT CASE'' è strettamente legata alla rappresentazione dei
dati. Poiché registri e variabili erano spesso limitati a 8 bit,
i valori che potevano essere confrontati in casi sono interi tra
0 e 255, anche se ugBASIC supporta qualsiasi tipo di intero. In
ogni caso, consente di confrontare l'espressione con qualsiasi
valore intero ma, a causa della limitazione a 8 bit, l'intervallo
di valori che potevano essere confrontati dovrebbe essere limitato,
per essere efficace, in termini di prestazioni.
L'utilizzo di ''SELECT CASE'' rende il codice più chiaro e
facile da capire rispetto a una serie di istruzioni ''IF...THEN...ELSE''
annidate. Può essere più efficiente di una serie di istruzioni ''IF...THEN...ELSE''.
==== ESEMPIO ====
SELECT CASE number
CASE 1
PRINT "one!"
CASE 2
PRINT "two!"
CASE ELSE
PRINT "neither!"
ENDSELCT
Si vedano anche i seguenti file di esempio:
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/control_case_01.bas|control_case_01.bas]]''
==== ABBREVIAZIONE ====
SlCsCsCsElEs
==== DISPONIBILE SU ====
*
* Atari (400/800)
* Atari XL/XE
* Commodore 128 (MOS 8502)
* Commodore 128 (Zilog Z80)
* Commodore 64
* Commodore 64+REU
* TRS-80 Color Computer
* TRS-80 Color Computer 3
* ColecoVision
* Amstrad CPC 664
* Dragon 32
* Dragon 64
* Thomson MO5
* Thomson MO5
* Olivetti Prodest PC128
* Commodore PLUS/4
* SEGA SC-3000
* SEGA SG-1000
*
* VG-5000
* Commodore VIC-20
* ZX Spectrum 48
==== VEDI ANCHE ====
[[CASE]] [[CASE ELSE]] [[ENDSELECT]]
==== PROBLEMI? ====
Se si riscontra un problema nell'utilizzare questo comando, se si ritiene che vi sia un bug oppure che la spiegazione sia poco chiara, è possibile [[https://github.com/spotlessmind1975/ugbasic/issues/new?title=SEGNALAZIONE SU SELECT CASE...CASE...CASE ELSE...ENDSELECT|aprire una segnalazione]] per questa parola chiave su GitHub. Grazie!===== POWERED BY =====
[[:it:ugbasic:user:index|{{ :ugbasic:user:logo-ugbasic.png?nolink&600 |}}]]