Difference between revisions of "Case"
From Lazarus wiki
Jump to navigationJump to searchm (→WhatIsChar) |
|||
Line 26: | Line 26: | ||
begin | begin | ||
s := ''; | s := ''; | ||
− | case | + | case s of |
'0' .. '9' : s := 'digit (0-9)'; | '0' .. '9' : s := 'digit (0-9)'; | ||
'a' .. 'z' : s := 'small letter (a-z)'; | 'a' .. 'z' : s := 'small letter (a-z)'; |
Revision as of 18:45, 17 October 2010
│
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 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.
<delphi>
case place of 1: ShowMessage('Gold medal'); 2: ShowMessage('Silver medal'); 3: ShowMessage('Bronze medal'); else ShowMessage('Better luck next time'); end;
</delphi>
WhatIsChar
<delphi>
function WhatIsChar( c:char ):string; var s : string; begin s := ; case s of '0' .. '9' : s := 'digit (0-9)'; 'a' .. 'z' : s := 'small letter (a-z)'; 'A' .. 'Z' : s := 'big letter (A-Z)'; '+' , '-' : s := 'sign (+ or -)'; end; result := s; end;
</delphi>
Variant Record
Case-word is used Variant Record, too. Variant Record also called a tagged union.
<delphi>
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;
</delphi>