|
Iniciado por jean-louis.5910, jun., 13 2005 9:15 PM - 4 respostas |
| |
| | | |
|
| |
Publicado em junho, 13 2005 - 9:15 PM |
Bonjour.
Pour mieux gérer la maintenance de mon code, j'aimerais pouvoir créer des constantes couleur (à l'instar de ce qui existe en standard dans WD). Malheureusement - et je comprends la logique de cette erreur - si j'écris (par exemple) :
CONSTANTE iJauneDemiTeinte = RVB(192, 192, 0)
le compilateur me signale "Erreur :La constante 'iJauneDemiTeinte' ne peut pas être déclarée car sa valeur n'est pas constante."
Comment puis-je faire autrement ?
Merci à toutes et à tous.
Jean-Louis |
| |
| |
| | | |
|
| | |
| |
Publicado em junho, 14 2005 - 2:43 AM |
Bonsoir,
Une constante ne peu pas être initialisée avec d'autre variable ou fonction mais avec des valeurs : CONSTANT <Nom de la constante 1> = <Valeur 1> <Nom de la constante 2> = <Valeur 2> FIN Et alors, puisque la fonction RVB() renvoie une <Résultat> : Entier qui représente une Couleur (24 bits) relative aux composantes fournies. Cette couleur est le résultat de la formule suivante : Couleur = 65536 * Composante Bleu + 256 * Composante Verte + Composante Rouge.
A vous de calculer !!
CONSTANTE iJauneDemiTeinte = 49344 // RVB(192, 192, 0) FIN
Bonne Chance ----------- //**// |
| |
| |
| | | |
|
| | |
| |
Publicado em junho, 14 2005 - 11:28 AM |
Bonjour, Si tu utilises une constante, il faut lui donner une valeur fixe en effet. Dans ce cas, il faut que tu récupères la valeur de RVB(192, 192, 0) et la déclarer directement :
CONSTANTE iJauneDemiTeinte = 49344 FIN
Sinon, il faut déclarer ta couleur en tant que variable de type entier
iJauneDemiTeinte est un entier = RVB(192, 192, 0)
Bon courage A+ |
| |
| |
| | | |
|
| | |
| |
Publicado em junho, 16 2005 - 12:56 AM |
Merci à tous les deux. Je remarque la chose suivante :
- CONSTANTE iJauneDemiTeinte = (65536 * 192) + (256 * 192) + 0 utilisé dans le code d'application renvoie une couleur erronée (turquoise sombre)
- iJauneDemiTeinte est un entier = RVB(192, 192, 0) renvoie la couleur souhaitée.
Est-ce lié à ma carte graphique ?
Jean-Louis |
| |
| |
| | | |
|
| | |
| |
Publicado em junho, 16 2005 - 11:24 PM |
Bonsoir,
Non votre carte graphique fonctionne très bien ! Le mot RVB veut dire Rouge, Vert Bleu. Alors RVB(192, 192, 0) donne : Composant Rouge = 192 Composant Vert = 192 Composant Bleu = 0
Or dans la fonction qui calcule la couleur souhaitée, les couleurs sont inversées :
Couleur = 65536 * Composante Bleu + 256 * Composante Verte + Composante Rouge.
Alors quand vous faites (65536 * 192) + (256 * 192) + 0 c'est l'équivalant d'une autre couleur = RVB(0,192,192) et 12632064 comme résultat! La bonne ecriture c'est
Couleur = (65536 * 0) + (256 *192) + 192 et 49344 comme résultat
Bonne Chance --------------- //**// |
| |
| |
| | | |
|
| | | | |
| | |
|