Variables utilisables dans les dialogues genre mdx ?

Résolu
Messages postés
288
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
14 février 2009
-
Messages postés
288
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
14 février 2009
-
Hello world

Voila j'ai des dialogues MDx colorés et j'aurais voulu integrer la possibilité de changer la couleur de ceux ci via une variable modifiable à volonté en un simple clic en selectionnant tout simplement la couleur désiré via un combo ou une liste , bref par rapport aux ligne suivante je n'arrive pas à remplacer les codes correspondant aux couleurs pour les remplacer par une variables genre ex : %color que je pourais comme je l'a dit  "seter"  via un un combo ou autre, ses lignes sont :

    dll dll\mdx.dll SetDialog $dname bgcolor $rgb(128,0,255)
    dll dll\mdx.dll SetColor $dname 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37 textbg $rgb(128,0,255)
    dll dll\mdx.dll SetColor $dname 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37 text $rgb(255,255,255)
    dll dll\mdx.dll SetColor $dname 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37 background $rgb(128,0,255)

J'aimerais donc pouvoir remplacer les textes "$rgb(blablabla)" par une variable modifiable mais je n'y parvient pas C'est faisable ou non?

9 réponses

Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

//echo -a $rgb(...,...,...)
comme tout identifieur ^^
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

oui, tant que c'est une valeur RGB (un nombre compris entre 0 et 16777215)
fais gaffe aussi à ce que la variable ne soit pas vide la première fois que tu lances ton dialog

tu devrais faire des .ini plutôt que des variables

par rapport à ton code, au lieu de laisser le $rgb, mets directement sa valeur, histoire de ne pas faire le calcul à chaque fois
Messages postés
288
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
14 février 2009

bin pourtant si la variable %color$rgb(128,0,255) est crée et existe bien et que dans mon dialogue je met
dll\mdx.dll SetDialog $dname bgcolor %color
au lieu de dll\mdx.dll SetDialog $dname bgcolor $rgb(128,0,255)
ca ne marche pas
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

fais un echo juste avant pour voir le contenu de ta variable
Messages postés
288
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
14 février 2009

En tapant //echo -a %color ? ca me renvoit bien la variable que j'ai défini : $rgb(128,0,255)

Mais lors de l'affichage du dialogue ca ne marche pas avec les lignes $rgb(blabla) remplacé par la variable %color
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

fais un echo de ta commande /dll alors, pour voir ce qu'il exectute exactement

$rgb(128,0,255) = 16711808
remplace par sa valeur au lieu d'utiliser $rgb sans arrêt ^^
Messages postés
288
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
14 février 2009

Ha bin oui ok la ca marche en setant mes variables par la valeur en chiffre uniquement au lieu de $rgb(blablabla) merci à toi , heu la valeur réelle qui correspond aux $rgb(blablabla) tu les trouves comment? (convertir $rgb(128,0,255) en 16711808 par exemple?)
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
il fallait utilisé $(%color) pour que l'identifieur dans la variable sois évalué mais s'mieux de faire a la facon d'arkanis :)
Messages postés
288
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
14 février 2009

Ok merci j'aurais encore appris quelque chose