Bonjour,
j'utilise un enum pour stocker différentes valeurs sur lesquelles je fais du OU.
Exemple :
Le deuxieme paramétre de la fonction ecrireChaine est envoyé a la fonction ajouteStyle que voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 enum format{ // Décoration NORMAL = 1, GRAS = 2, SOULIGNE = 4, ITALIC = 8, // alignement CENTRE = 1024, DROITE = 2048, // Couleur texte TROUGE = 8192, TVERT = 16384, TBLEU = 32768 // Couleur du fond FROUGE = 65536, FVERT = 131072, FBLEU = 262144 } ; // appel de la fonction toto->ecrireChaine("Elvis n'est pas mort", CENTRE|GRAS|SOULIGNE|ITALIC) ;
Je suis donc obligé de conserver cette numérotation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 void xlsWriter::ajouteStyle(int deco){ string definition=""; string aligne=""; string couleurFond=""; // Décoration if(deco & GRAS) definition += " ss:Bold=\"1\""; if(deco & SOULIGNE) definition += " ss:Underline=\"Single\""; if(deco & ITALIC) definition += " ss:Italic=\"1\""; // Couleur du texte if(deco & TROUGE) definition += " ss:Color=\"#FF0000\""; if(deco & TVERT) definition += " ss:Color=\"#00FF00\""; if(deco & TBLEU) definition += " ss:Color=\"#0000FF\""; // Couleur du fond if(deco & TROUGE) couleurFond += " ss:Color=\"#FF0000\" ss:Pattern=\"Solid\""; if(deco & TVERT) couleurFond += " ss:Color=\"#00FF00\" ss:Pattern=\"Solid\""; if(deco & TBLEU) couleurFond += " ss:Color=\"#0000FF\" ss:Pattern=\"Solid\""; // Alignement if (deco & CENTRE) aligne += "ss:Horizontal=\"Center\" ss:Vertical=\"Bottom\""; if (deco & DROITE) aligne += "ss:Horizontal=\"Right\" ss:Vertical=\"Bottom\""; this->styles[nbstyles].indice = deco; this->styles[nbstyles].nom= "Style" + int2string(this->nbstyles); this->styles[nbstyles].definition = "\t\t<Style ss:ID=\"Style" + int2string(this->nbstyles) + "\">\n"; this->styles[nbstyles].definition += "\t\t\t<Font x:Family=\"Swiss\"" + definition + "/>\n"; if (!aligne.empty()) this->styles[nbstyles].definition += "\t\t\t<Alignment " + aligne + "/>"; if (!couleurFond.empty()) this->styles[nbstyles].definition += "\t\t\t<Interior " + couleurFond + "/>"; "; this->styles[nbstyles].definition += "\t\t</Style>\n"; this->nbstyles++; }
Y a t'il un moyen pour que l'enum soit de type unsigned long ou autre ??
Merci
Partager