Constantes dans Enumération

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Constantes dans Enumération

Message par MLD »

Ce matin je dois avoir les neuronnes qui patinent :roll:
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. :wink:
boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Constantes dans Enumération

Message 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.
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Constantes dans Enumération

Message par MLD »

Salut boddhi
Si dans l'Enumération plusieurs constantes ont la même valeur, c'est une erreur. :mrgreen:
boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Constantes dans Enumération

Message 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 ?
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Constantes dans Enumération

Message 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 :mrgreen:
boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Constantes dans Enumération

Message 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 :wink:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Constantes dans Enumération

Message 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 ! :)
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Constantes dans Enumération

Message par MLD »

Yes Dobro :wink:
Répondre