Difference between revisions of "Case/fi"

From Free Pascal wiki
Jump to navigationJump to search
m (Text replace - "delphi>" to "syntaxhighlight>")
Line 6: Line 6:
  
  
<delphi>
+
<syntaxhighlight>
  
 
  case place of
 
  case place of
Line 15: Line 15:
 
  end;
 
  end;
  
</delphi>
+
</syntaxhighlight>
  
 
=== WhatIsChar ===
 
=== WhatIsChar ===
  
<delphi>
+
<syntaxhighlight>
  
 
  function WhatIsChar( c:char ):string;
 
  function WhatIsChar( c:char ):string;
Line 35: Line 35:
 
  end;
 
  end;
  
</delphi>
+
</syntaxhighlight>
  
 
== Vaihteleva tietue ==
 
== Vaihteleva tietue ==
Line 41: Line 41:
 
Case-sanaa käytetään myös vaihtelevassa [[Record|tietueessa]].
 
Case-sanaa käytetään myös vaihtelevassa [[Record|tietueessa]].
  
<delphi>
+
<syntaxhighlight>
  
 
   type
 
   type
Line 55: Line 55:
 
   end;
 
   end;
  
</delphi>
+
</syntaxhighlight>
  
 
== Lisätietoja ==
 
== Lisätietoja ==

Revision as of 14:57, 24 March 2012

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.


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

WhatIsChar

 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;

Vaihteleva tietue

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

  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;

Lisätietoja