Case/fi

From Lazarus wiki
Revision as of 16:22, 16 October 2009 by Djzepi (talk | contribs)
Jump to navigationJump to search

Deutsch (de) English (en) español (es) suomi (fi) français (fr) русский (ru)

Case aloittaa case-lauseen. Case-lauseessa verrataan muuttujan arvoa esitettyihin vakiona pysyviin arvoihin. Näitä vakiona pysyviä arvoja voi olla yksittäinen vakio, tietty vakioalue tai pilkulla erotettu joukko vakioita. Tietyn valinnan jälkeen suoretettavat lauseen on erotettu kaksoispisteellä.

Case-lause sisältää varatut sanat Of ja End sekä joskus myös Else.


<delphi>

case place of
  1: ShowMessage('Kultamitali');
  2: ShowMessage('Hopeamitali');
  3: ShowMessage('Pronssimitali'); 
  else ShowMessage('Parempi onni ensi kerralla'); 
end;

</delphi>

WhatIsChar

<delphi>

function WhatIsChar( c:char ):string;
var
  s : string;
begin
  s := ;
  case c of
    '0' .. '9' : s := 'Numero (0-9)';
    'a' .. 'z' : s := 'Pieni kirjain (a-z)';
    'A' .. 'Z' : s := 'Iso kirjain (A-Z)';
    '+' , '-'  : s := 'Etumerkki (+ or -)';
  end;
  result := s;
end;

</delphi>

Vaihteleva tietue

Case-sanaa käytetään myös vaihtelevassa tietueessa.

<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>

Lisätietoja