Teorija

Case ... Of ...
Svarīgi!
Šīs konstrukcijas pieraksts (sintakse) ir šāds:
 
caseizteiksmeofvērtība1:komandas1vērtība2:komandas2...end;
 
vai arī
 
caseizteiksmeofvērtība1:komandas1vērtība2:komandas2...elsealternatīvās_komandasend;
 
Izteiksmes vērtības tipam jābūt sanumurējamam (ordinal type). Iespējamie varianti ir  Byte, Shortint, Integer, Word, Longint, kā arī Char un Boolean.
 
Vispirms tiek aprēķināta izteiksmes vērtība, tad tā meklēta starp dažādajiem piedāvātajiem variantiem.
Ja tā ir atrasta, tiek izpildītas attiecīgās komandas.
Ja tā netiek atrasta un nav arī else, tad nekas netiek darīts; ja else ir, tad tiek izpildītas alternatīvās komandas.
 
Piemērs:
 case(Dienamod7)of1:NedelasDiena:='Pirmdiena';2:NedelasDiena:='Otrdiena';3:NedelasDiena:='Tresdiena';4:NedelasDiena:='Ceturtdiena';5:NedelasDiena:='Piektdiena';6:NedelasDiena:='Sestdiena';0:NedelasDiena:='Svetdiena';end;
Šeit atkarībā no atlikuma, kas sanāk pēc mainīgā Diena dalīšanas ar 7, tiek noteikta pareizā nedēļas diena (mainīgajam NedelasDiena piešķirot atbilstošu vērtību).
 
Piemērs:
case(Dienamod7)of1..3,5..6:NedelasDiena:='Darbdiena';elseNedelasDiena:='Brivdiena';end;
Šeit parādīts, kā var vienā variantā salikt vairākas vērtības. 1..3 nozīmē visus skaitļus no 1 līdz 3 (ieskaitot). Un, atdalot ar komatu, var pievienot vēl papildus vērtības.
Salīdzinot ar iepriekšējo piemēru, var secināt, ka visas dienas, izņemot ceturtdienu un svētdienu, ir darbdienas.