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

Messages postés
60
Date d'inscription
mercredi 16 février 2005
Dernière intervention
2 juin 2006
- - Dernière réponse : EddiTheHead
Messages postés
60
Date d'inscription
mercredi 16 février 2005
Dernière intervention
2 juin 2006
- 30 mars 2005 à 21:25
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);
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
759
Date d'inscription
vendredi 21 mars 2003
Dernière intervention
1 octobre 2009
3
Merci
Pour les type énumérés :




for i := 0 to 2 do

Couleur := TypeCouleur(i);

Ken@vo

____________________

Code, Code, Codec !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_Kenavo
Messages postés
447
Date d'inscription
jeudi 9 janvier 2003
Dernière intervention
5 février 2015
0
Merci
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
Commenter la réponse de DRJEROME
Messages postés
447
Date d'inscription
jeudi 9 janvier 2003
Dernière intervention
5 février 2015
0
Merci
le "color:=Couleur;" c(est juste pour faire le test (j'ai coloré le form
à titre de test)

DrJerome
Commenter la réponse de DRJEROME
Messages postés
60
Date d'inscription
mercredi 16 février 2005
Dernière intervention
2 juin 2006
0
Merci
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.
Commenter la réponse de EddiTheHead

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.