Difference between revisions of "Case"
From Free Pascal wiki
Jump to navigationJump to searchm |
Jwdietrich (talk | contribs) |
||
Line 61: | Line 61: | ||
[[Category:Pascal]] | [[Category:Pascal]] | ||
+ | [[Category:Control Structures]] |
Revision as of 17:38, 30 September 2013
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
русский (ru) │
Case opens a case statement. The case statement compares the value of an ordinal expression to each selector, which can be a constant, a subrange, or a list of them separated by commas. The selector field is separated from action field by Colon.
The case statement includes the reserved words Of and End. Else can be used if needed, too.
case place of
1: ShowMessage('Gold medal');
2: ShowMessage('Silver medal');
3: ShowMessage('Bronze medal');
else ShowMessage('Better luck next time');
end;
WhatIsChar
function WhatIsChar( c:char ):string;
var
s : string;
begin
s := '';
case c of
'0' .. '9' : s := 'digit (0-9)';
'a' .. 'z' : s := 'lowercase letter (a-z)';
'A' .. 'Z' : s := 'uppercase letter (A-Z)';
'+' , '-' : s := 'sign (+ or -)';
end;
result := s;
end;
Variant Record
Case is used in Variant Record, too. A Variant Record is also called a tagged union.
type
ScaleKelvin = 223 .. 323;
ScaleCelsius = -50 .. 50;
TemperatureScale = ( celsius, kelvin ) ;
Temperature = record
case scale : TemperatureScale of
celcius : (celsius_value : ScaleCelsius);
kelvin : (kelvin_value : ScaleKelvin);
end;