Case

From Lazarus-ccr

Jump to: navigation, search

Case opens a case statement. The case statement compares the value of ordinal expression to each selector, which can be a constant, a subrange, or a list of them separated by commas. Selector field separated from action field by Colon.

The case statement includes reserved words Of and End . Sometimes Else, too.


 
 
 case place of
   1: ShowMessage('Gold medal');
   2: ShowMessage('Silver medal');
   3: ShowMessage('Bronze medal'); 
   else ShowMessage('Better luck next time'); 
 end;
 
 

[edit] Variant Record

Case-word is used Variant Record, too. Variant Record also called a tagged union.

 
 
  type
 
   ScaleKelvin = 223 .. 323;
   ScaleCelsius = -50 .. 50;
 
   TemperatureScale   =  ( celcius, kelvin ) ;
   Temperature   =   record
    case  scale   :   TemperatureScale   of
     celcius : (celcius_value : ScaleCelsius);
     kelvin : (kelvin_value : ScaleKelvin);
   end;
 
 

[edit] Read more