Case/fr

From Free Pascal wiki
Jump to: navigation, search

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

Case débute une instruction case. Cette instruction compare la valeur de l'expression ordinale qui suit le case à chaque sélecteur, qui peut être une constante, un intervalle, ou une liste d'eux séparé par des virgules. Le champ sélecteur est séparé de l'action par deux-points (:).

L'instruction case comporte les mots réservés of et end. else peut être utilisée si besoin est.

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

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

Enregistrement avec variantes

Case est aussi utilisé dans les enregistrements avec variantes.

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

Voir aussi