Affectation avec un type énuméré [Résolu]

Signaler
Messages postés
58
Date d'inscription
mercredi 16 février 2005
Statut
Membre
Dernière intervention
2 juin 2006
-
Messages postés
58
Date d'inscription
mercredi 16 février 2005
Statut
Membre
Dernière intervention
2 juin 2006
-
Voici un exemple :


Type TypeCouleur = (Rouge, Vert, Bleu);
Var Couleur : TypeCouleur;


Chaque élément à un N° d'ordre


Ord(Vert) => 1


Exsite-t-il une fonction pour faire l'inverse.
C-à-d avec le N° d'ordre 2, affecter "Bleu" à la variable Couleur, sans utiliser de If ou Case Of.


Ce qui donnerais : Couleur := ???(2);

4 réponses

Messages postés
702
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
1 octobre 2009
4
Pour les type énumérés :




for i := 0 to 2 do

Couleur := TypeCouleur(i);

Ken@vo

____________________

Code, Code, Codec !
Messages postés
436
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
5 février 2015

2 solutions (il y en a d'autres) :



<HR>


procedure TForm1.Button1Click(Sender: TObject);
var
Couleur:TColor;
const
TypeCouleur:array[0..2]of TColor=(clRed,clGreen,clBlue);
begin
Couleur:=TypeCouleur[2];
color:=Couleur;
end;


procedure TForm1.Button2Click(Sender: TObject);
var
Couleur:TColor;
begin
Couleur:=rgb(0,0,255);
color:=Couleur;
end;

<HR>


N'oubliez pas de cliquer sur Réponse acceptée si c'est OK



DrJerome
Messages postés
436
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
5 février 2015

le "color:=Couleur;" c(est juste pour faire le test (j'ai coloré le form
à titre de test)

DrJerome
Messages postés
58
Date d'inscription
mercredi 16 février 2005
Statut
Membre
Dernière intervention
2 juin 2006

drjerome,
j'ai utilisé un type couleur comme exemple. Cela aurait pu être n'importe quoi d'autre.

La solution de Kenavo est exactement ce que je cherchais.

Merci à vous 2 pour votre aide.