{{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=(Manual page for 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=(Manual page for SELECT CASE...CASE...CASE ELSE...ENDSELECT) }} ====== ugBASIC User Manual ====== ===== SELECT CASE...CASE...CASE ELSE...ENDSELECT ✓ ===== ===== SYNTAX ===== SELECT CASE [expression] : CASE [match1] : ... {: CASE [match2] : ... } { : CASE ELSE : .... } : ENDSELECT ==== PURPOSE ==== These commands implement a multiple conditional jump. It is a question of verifying whether a given expression, supplied as first, is equal to the various expressions that will be gradually registered through the ''CASE'' statement. If they are, the code following the CASE statement will be executed. Otherwise, we will move on. If the ''CASE ELSE'' statement is given, it will be executed if there is no other match. It follows that it must be placed last. The code executed is always and only the one between the ''CASE'' that satisfies the condition and the next one (or the ''CASE ELSE''). The code on ''CASE ELSE'' will be execute always and only if other matches fail. ==== EXAMPLE ==== SELECT CASE number CASE 1 PRINT "one!" CASE 2 PRINT "two!" CASE ELSE PRINT "neither!" ENDSELCT See also the following example files: * ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/control_case_01.bas|control_case_01.bas]]'' ==== ABBREVIATION ==== SlCs...Cs...CsEl...Es ==== AVAILABLE ON ==== * 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 ==== ANY PROBLEM? ==== If you have encountered a problem using this command, if you think there is a bug or the explanation is unclear, please [[https://github.com/spotlessmind1975/ugbasic/issues/new?title=ISSUE ON SELECT CASE...CASE...CASE ELSE...ENDSELECT|open an issue]] for this keyword on GitHub. Thank you!===== POWERED BY ===== [[:ugbasic:user:index|{{ :ugbasic:user:logo-ugbasic.png?nolink&600 |}}]]