Page 1 sur 1
Constantes dans Enumération
Publié : ven. 17/déc./2010 9:55
par MLD
Ce matin je dois avoir les neuronnes qui patinent
Mais quelle serait la fonction qui permet de retrouver le nom de la constante par sont numéro
Code : Tout sélectionner
Enumeration
#Toto = 1
#Mulo = 2
#Velo = 3
EndEnumeration
Debug ???? ;(fonction pour savoir que 2 = Mulo)
End
Cela parait dérisoire dans un petit programme, mais dans un programme de 10 000 lignes cela peut être utile.

Re: Constantes dans Enumération
Publié : ven. 17/déc./2010 10:27
par boddhi
Salut.
A ma connaissance, une telle fonction PB n'existe pas et, je pense, ne saurait exister, en tout cas sous une forme simple, dans la mesure où plusieurs constantes peuvent avoir la même valeur.
Re: Constantes dans Enumération
Publié : ven. 17/déc./2010 10:33
par MLD
Salut boddhi
Si dans l'Enumération plusieurs constantes ont la même valeur, c'est une erreur.

Re: Constantes dans Enumération
Publié : ven. 17/déc./2010 11:14
par boddhi
Non, pas du tout !
Code : Tout sélectionner
Enumeration
#AAA
#BBB
#CCC
EndEnumeration
Enumeration
#DDD
#EEE
#FFF
EndEnumeration
ou bien encore, rien ne t'empêche d'écrire :
Code : Tout sélectionner
Enumeration
#AAA
#BBB
#CCC
#DDD
#EEE
#FFF=2
#...
EndEnumeration
auxquels cas #CCC et #FFF ont bien la même valeur, 2 en l'occurence.
Donc comment une fonction "simple" pourrait te retourner #CCC et #FFF en même temps ?
Re: Constantes dans Enumération
Publié : ven. 17/déc./2010 11:33
par MLD
@ boddhi
Bien entendu tu peux écrire un programme comme tes exemples. Mais je te souhaite bon courage pour retrouver tes petits là dedans.
N'oublie pas que la plupart du temps les constantes sont des noms de gadgets, et ta façon de faire est le meilleur moyen d'avoir deux gadgets avec le même numéro, et aprés bonjour le souc

Re: Constantes dans Enumération
Publié : ven. 17/déc./2010 11:45
par boddhi
Tu as raison !
Mais pour des gadgets, je ne procède pas comme cela...
J'utilise #PB_Compiler_EnumerationValue en découpant chaque groupe de constantes liés à une fenêtre, ce qui donne cela :
Code : Tout sélectionner
Enumeration ; Gadgets fenêtre 0
#GAD_FEN0DESCRIPTION_DESCRIPTIONGADGET1
#GAD_FEN0DESCRIPTION_DESCRIPTIONGADGET2
#GAD_FEN0DESCRIPTION_DESCRIPTIONGADGET3
EndEnumeration
Enumeration #PB_Compiler_EnumerationValue ; Gadgets fenêtre 2
#GAD_FEN1DESCRIPTION_DESCRIPTIONGADGET1
#GAD_FEN1DESCRIPTION_DESCRIPTIONGADGET2
#GAD_FEN1DESCRIPTION_DESCRIPTIONGADGET3
EndEnumeration
Comme cela j'évite tout risque de déclaration identique

Re: Constantes dans Enumération
Publié : ven. 17/déc./2010 14:11
par Backup
pour ma part, en general, je n'utilise qu'un seul enumeration-endenumeration
pour tout le code !!
apres , je peut eventuellement faire des reperes
Code : Tout sélectionner
enumeration
; fenetre
#win_1
#win_2
;gadgets
#toto
#titi
#tutu
; fichiers
#file1
#file2
#file
endenumeration
de cette façon, aucuns problemes !

Re: Constantes dans Enumération
Publié : ven. 17/déc./2010 14:30
par MLD
Yes Dobro
