Aide pour un code de couleur d'écriture

cs_Showcase Messages postés 2 Date d'inscription mardi 27 septembre 2005 Statut Membre Dernière intervention 9 juillet 2007 - 9 juil. 2007 à 20:53
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008 - 10 juil. 2007 à 00:57
bonjour
je voudrais finaliser un code de couleur d'écriture.
en fait c'est au niveau du "on 1:input:*: {" que je bloque.
je voudrais que tous les options fonctionnent , sauf
si les options souligné et 1ere lettre de couleur différentes sont activé, ils ne le sont pas sur les salons officiels tout en restant activé sur les salons privés
et bien sur les commandes : "/" ; "!" et "." soient activent.
Merci de votre aide :)

voici le code :

dialog couleurs {
  title "Couleurs d'écriture"
  size -1 -1 300 330
  box "Couleurs d'écriture",02, 10 55 280 70
  text "Texte",03, 20 75 100 20
  combo 04, 20 93 115 150,drop,vsbar,drop,size
  text "Fond",05, 165 75 100 20
  combo 06, 165 93 115 150,drop,vsbar,drop,size
  box "Option",07, 10 130 280 50
  check "Gras",08, 20 148 50 20
  check "Souligné",09, 90 148 60 20
  check "1ere lettre majuscule",10, 165 148 120 20
  box "1ère Lettre de couleur différente",11, 10 185 280 97
  check "Activer",12, 122 207 60 20
  text "Texte",13, 20 231 100 20
  combo 14, 20 249 115 150,drop,vsbar,drop,size
  text "Fond",15, 165 231 100 20
  combo 16, 165 249 115 150,drop,vsbar,drop,size
  button "Enregistrer",17, 100 291 100 30, ok cancel
}
on 1:dialog:couleurs:init:0: {
  var %combo 04
  did -a couleurs 04 Aucune
  did -a couleurs 06 Aucune
  goto affichage
  :affichage
  did -a couleurs %combo Blanc
  did -a couleurs %combo Noir
  did -a couleurs %combo Bleu Marine
  did -a couleurs %combo Vert
  did -a couleurs %combo Rouge
  did -a couleurs %combo Marron
  did -a couleurs %combo Violet
  did -a couleurs %combo Orange
  did -a couleurs %combo Jaune
  did -a couleurs %combo Vert Clair
  did -a couleurs %combo Bleu Ciel Foncé
  did -a couleurs %combo Bleu Ciel
  did -a couleurs %combo Bleu
  did -a couleurs %combo Rose
  did -a couleurs %combo Gris
  did -a couleurs %combo Gris Clair
  if (%combo = 04) { var %combo 06 | goto affichage }
  elseif (%combo = 06) { var %combo 14 | goto affichage }
  elseif (%combo = 14) { var %combo 16 | goto affichage }
  elseif (%combo = 16) { goto suite }
  :suite
  if (%texte == off) { did -c couleurs 04 1 | did -cb couleurs 2 1 | did -ub couleurs 7 }
  if (%texte == 0) { did -c couleurs 04 2 }
  if (%texte == 1) { did -c couleurs 04 3 }
  if (%texte == 2) { did -c couleurs 04 4 }
  if (%texte == 3) { did -c couleurs 04 5 }
  if (%texte == 4) { did -c couleurs 04 6 }
  if (%texte == 5) { did -c couleurs 04 7 }
  if (%texte == 6) { did -c couleurs 04 8 }
  if (%texte == 7) { did -c couleurs 04 9 }
  if (%texte == 8) { did -c couleurs 04 10 }
  if (%texte == 9) { did -c couleurs 04 11 }
  if (%texte == 10) { did -c couleurs 04 12 }
  if (%texte == 11) { did -c couleurs 04 13 }
  if (%texte == 12) { did -c couleurs 04 14 }
  if (%texte == 13) { did -c couleurs 04 15 }
  if (%texte == 14) { did -c couleurs 04 16 }
  if (%texte == 15) { did -c couleurs 04 17 }
  if (%fond == off) { did -c couleurs 06 1 }
  if (%fond == 0) { did -c couleurs 06 2 }
  if (%fond == 1) { did -c couleurs 06 3 }
  if (%fond == 2) { did -c couleurs 06 4 }
  if (%fond == 3) { did -c couleurs 06 5 }
  if (%fond == 4) { did -c couleurs 06 6 }
  if (%fond == 5) { did -c couleurs 06 7 }
  if (%fond == 6) { did -c couleurs 06 8 }
  if (%fond == 7) { did -c couleurs 06 9 }
  if (%fond == 8) { did -c couleurs 06 10 }
  if (%fond == 9) { did -c couleurs 06 11 }
  if (%fond == 10) { did -c couleurs 06 12 }
  if (%fond == 11) { did -c couleurs 06 13 }
  if (%fond == 12) { did -c couleurs 06 14 }
  if (%fond == 13) { did -c couleurs 06 15 }
  if (%fond == 14) { did -c couleurs 06 16 }
  if (%fond == 15) { did -c couleurs 06 17 }
  if (%gras == �2;) { did -c couleurs 08 }
  if (%soul == 1) { did -c couleurs 09 }
  if (%maj == 1) { did -c couleurs 10 }
  if (%premlettre == 1) { did -c couleurs 12 }
  if (%premlettretextre == 0) { did -c couleurs 14 1 }
  if (%premlettretextre == 1) { did -c couleurs 14 2 }
  if (%premlettretextre == 2) { did -c couleurs 14 3 }
  if (%premlettretextre == 3) { did -c couleurs 14 4 }
  if (%premlettretextre == 4) { did -c couleurs 14 5 }
  if (%premlettretextre == 5) { did -c couleurs 14 6 }
  if (%premlettretextre == 6) { did -c couleurs 14 7 }
  if (%premlettretextre == 7) { did -c couleurs 14 8 }
  if (%premlettretextre == 8) { did -c couleurs 14 9 }
  if (%premlettretextre == 9) { did -c couleurs 14 10 }
  if (%premlettretextre == 10) { did -c couleurs 14 11 }
  if (%premlettretextre == 11) { did -c couleurs 14 12 }
  if (%premlettretextre == 12) { did -c couleurs 14 13 }
  if (%premlettretextre == 13) { did -c couleurs 14 14 }
  if (%premlettretextre == 14) { did -c couleurs 14 15 }
  if (%premlettretextre == 15) { did -c couleurs 14 16 }
  if (%premlettrefond == 0) { did -c couleurs 16 1 }
  if (%premlettrefond == 1) { did -c couleurs 16 2 }
  if (%premlettrefond == 2) { did -c couleurs 16 3 }
  if (%premlettrefond == 3) { did -c couleurs 16 4 }
  if (%premlettrefond == 4) { did -c couleurs 16 5 }
  if (%premlettrefond == 5) { did -c couleurs 16 6 }
  if (%premlettrefond == 6) { did -c couleurs 16 7 }
  if (%premlettrefond == 7) { did -c couleurs 16 8 }
  if (%premlettrefond == 8) { did -c couleurs 16 9 }
  if (%premlettrefond == 9) { did -c couleurs 16 10 }
  if (%premlettrefond == 10) { did -c couleurs 16 11 }
  if (%premlettrefond == 11) { did -c couleurs 16 12 }
  if (%premlettrefond == 12) { did -c couleurs 16 13 }
  if (%premlettrefond == 13) { did -c couleurs 16 14 }
  if (%premlettrefond == 14) { did -c couleurs 16 15 }
  if (%premlettrefond == 15) { did -c couleurs 16 16 }
}
on 1:dialog:couleurs:sclick:04: {  if (($did(couleurs,04).text Aucune) || ($did(couleurs,04).text $null)) { set %texte off }
  if ($did(couleurs,04).text = Blanc) { set %texte 0 }
  if ($did(couleurs,04).text = Noir) { set %texte 1 }
  if ($did(couleurs,04).text = Bleu Marine) { set %texte 2 }
  if ($did(couleurs,04).text = Vert) { set %texte 3 }
  if ($did(couleurs,04).text = Rouge) { set %texte 4 }
  if ($did(couleurs,04).text = Marron) { set %texte 5 }
  if ($did(couleurs,04).text = Violet) { set %texte 6 }
  if ($did(couleurs,04).text = Orange) { set %texte 7 }
  if ($did(couleurs,04).text = Jaune) { set %texte 8 }
  if ($did(couleurs,04).text = Vert Clair) { set %texte 9 }
  if ($did(couleurs,04).text = Bleu Ciel Foncé) { set %texte 10 }
  if ($did(couleurs,04).text = Bleu Ciel) { set %texte 11 }
  if ($did(couleurs,04).text = Bleu) { set %texte 12 }
  if ($did(couleurs,04).text = Rose) { set %texte 13 }
  if ($did(couleurs,04).text = Gris) { set %texte 14 }
  if ($did(couleurs,04).text = Gris Clair) { set %texte 15 }
}
on 1:dialog:couleurs:sclick:06: {  if (($did(couleurs,06).text Aucune ) || ($did(couleurs,2).text $null)) { set %fond off }
  if ($did(couleurs,06).text == Blanc) { set %fond 0 }
  if ($did(couleurs,06).text == Noir) { set %fond 1 }
  if ($did(couleurs,06).text == Bleu Marine) { set %fond 2 }
  if ($did(couleurs,06).text == Vert) { set %fond 3 }
  if ($did(couleurs,06).text == Rouge) { set %fond 4 }
  if ($did(couleurs,06).text == Marron) { set %fond 5 }
  if ($did(couleurs,06).text == Violet) { set %fond 6 }
  if ($did(couleurs,06).text == Orange) { set %fond 7 }
  if ($did(couleurs,06).text == Jaune) { set %fond 8 }
  if ($did(couleurs,06).text == Vert Clair) { set %fond 9 }
  if ($did(couleurs,06).text == Bleu Ciel Foncé) { set %fond 10 }
  if ($did(couleurs,06).text == Bleu Ciel) { set %fond 11 }
  if ($did(couleurs,06).text == Bleu) { set %fond 12 }
  if ($did(couleurs,06).text == Rose) { set %fond 13 }
  if ($did(couleurs,06).text == Gris) { set %fond 14 }
  if ($did(couleurs,06).text == Gris Clair) { set %fond 15 }
}
on 1:dialog:couleurs:sclick:08: {
  if ($did(couleurs,08).state == 1) { set %gras �2; } | else { unset %gras }
}
on 1:dialog:couleurs:sclick:09: {
  if ($did(couleurs,09).state == 1) { set %soul 1 } | else { unset %soul }
}
on 1:dialog:couleurs:sclick:10: {
  if ($did(couleurs,10).state == 1) { set %maj 1 } | else { unset %maj }
}
on 1:dialog:couleurs:sclick:12: {
  if ($did(couleurs,12).state == 1) { set %premlettre 1 } | else { unset %premlettre }
}
on 1:dialog:couleurs:sclick:14: {
  if ($did(couleurs,14).text == Blanc) { set %premlettretexte 0 }
  if ($did(couleurs,14).text == Noir) { set %premlettretexte 1 }
  if ($did(couleurs,14).text == Bleu Marine) { set %premlettretexte 2 }
  if ($did(couleurs,14).text == Vert) { set %premlettretexte 3 }
  if ($did(couleurs,14).text == Rouge) { set %premlettretexte 4 }
  if ($did(couleurs,14).text == Marron) { set %premlettretexte 5 }
  if ($did(couleurs,14).text == Violet) { set %premlettretexte 6 }
  if ($did(couleurs,14).text == Orange) { set %premlettretexte 7 }
  if ($did(couleurs,14).text == Jaune) { set %premlettretexte 8 }
  if ($did(couleurs,14).text == Vert Clair) { set %premlettretexte 9 }
  if ($did(couleurs,14).text == Bleu Ciel Foncé) { set %premlettretexte 10 }
  if ($did(couleurs,14).text == Bleu Ciel) { set %premlettretexte 11 }
  if ($did(couleurs,14).text == Bleu) { set %premlettretexte 12 }
  if ($did(couleurs,14).text == Rose) { set %premlettretexte 13 }
  if ($did(couleurs,14).text == Gris) { set %premlettretexte 14 }
  if ($did(couleurs,14).text == Gris Clair) { set %premlettretexte 15 }
}
on 1:dialog:couleurs:sclick:16: {
  if ($did(couleurs,16).text == Blanc) { set %premlettrefond 0 }
  if ($did(couleurs,16).text == Noir) { set %premlettrefond 1 }
  if ($did(couleurs,16).text == Bleu Marine) { set %premlettrefond 2 }
  if ($did(couleurs,16).text == Vert) { set %premlettrefond 3 }
  if ($did(couleurs,16).text == Rouge) { set %premlettrefond 4 }
  if ($did(couleurs,16).text == Marron) { set %premlettrefond 5 }
  if ($did(couleurs,16).text == Violet) { set %premlettrefond 6 }
  if ($did(couleurs,16).text == Orange) { set %premlettrefond 7 }
  if ($did(couleurs,16).text == Jaune) { set %premlettrefond 8 }
  if ($did(couleurs,16).text == Vert Clair) { set %premlettrefond 9 }
  if ($did(couleurs,16).text == Bleu Ciel Foncé) { set %premlettrefond 10 }
  if ($did(couleurs,16).text == Bleu Ciel) { set %premlettrefond 11 }
  if ($did(couleurs,16).text == Bleu) { set %premlettrefond 12 }
  if ($did(couleurs,16).text == Rose) { set %premlettrefond 13 }
  if ($did(couleurs,16).text == Gris) { set %premlettrefond 14 }
  if ($did(couleurs,16).text == Gris Clair) { set %premlettrefond 15 }
}
on 1:input:*: {

2 réponses

cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
10 juil. 2007 à 00:22
Outch que c'est mal codé, tu devrais regarder les autres sources d'addon couleur présent ici, d'une part pour amelioré ton code, et d'autre par pour complété ton input
0
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
10 juil. 2007 à 00:57
comme wims, je pense que c'est assez mal codé, en me donnant 5min je refai ton dialog de la facon suivante :
dialog couleurs {
  title "Couleurs d'écriture"
  size -1 -1 300 330
  box "Couleurs d'écriture",02, 10 55 280 70
  text "Texte",03, 20 75 100 20
  combo 04, 20 93 115 150,drop,vsbar,drop,size
  text "Fond",05, 165 75 100 20
  combo 06, 165 93 115 150,drop,vsbar,drop,size
  box "Option",07, 10 130 280 50
  check "Gras",08, 20 148 50 20
  check "Souligné",09, 90 148 60 20
  check "1ere lettre majuscule",10, 165 148 120 20
  box "1ère Lettre de couleur différente",11, 10 185 280 97
  check "Activer",12, 122 207 60 20
  text "Texte",13, 20 231 100 20
  combo 14, 20 249 115 150,drop,vsbar,drop,size
  text "Fond",15, 165 231 100 20
  combo 16, 165 249 115 150,drop,vsbar,drop,size
  button "Enregistrer",17, 100 291 100 30, ok cancel
}
on 1:dialog:couleurs:init:0: {
  var %combo 04
  did -a couleurs 4,6 Aucune
  didtok couleurs 4,6 124 Blanc|Noir|Bleu Marine|Vert|Rouge|Marron|Violet|Orange|Jaune|Vert Clair|Bleu Ciel Foncé|Bleu Ciel|Bleu|Rose|Gris|Gris Clair
  if (%texte = = off) { did -c couleurs 04 1 | did -cb couleurs 2 1 | did -ub couleurs 7 }
  elseif (%texte isnum 0-17) { did -c couleurs 04 $calc(%texte +2) }
  if (%fond == off) { did -c couleurs 06 1 }
  elseif (%fond isnum 0-17) { did -c couleurs 06 $calc(%fond +2) }
  if (%gras == 1�2;) { did -c couleurs 08 }
  if (%soul == 1) { did -c couleurs 09 }
  if (%maj == 1) { did -c couleurs 10 }
  if (%premlettre == 1) { did -c couleurs 12 }
  if (%premlettretextre isnum 0-15) { did -c couleurs 14 $calc(% premlettretextre +1) }
  if (%premlettrefond == 0) { did -c couleurs 16 $calc( %premlettrefond +1) }
}
on 1:dialog:couleurs:sclick:04: {  if (($did(couleurs,04).text Aucune) || ($did(couleurs,04).text $null)) { set %texte off }
  elseif ($did(couleurs,04).sel) { set %texte $did(couleurs,04).sel }
}
on 1:dialog:couleurs:sclick:06: {  if (($did(couleurs,06).text Aucune ) || ($did(couleurs,2).text $null)) { set %fond off }
  elseif ($did(couleurs,06).sel) { set %fond $did(couleurs,06).sel }
}
on 1:dialog:couleurs:sclick:08: {
  if ($did(couleurs,08).state == 1) { set %gras �2; } | else { unset %gras }
}
on 1:dialog:couleurs:sclick:09: {
  if ($did(couleurs,09).state == 1) { set %soul 1 } | else { unset %soul }
}
on 1:dialog:couleurs:sclick:10: {
  if ($did(couleurs,10).state == 1) { set %maj 1 } | else { unset %maj }
}
on 1:dialog:couleurs:sclick:12: {
  if ($did(couleurs,12).state == 1) { set %premlettre 1 } | else { unset %premlettre }
}
on 1:dialog:couleurs:sclick:14: {
  if ($did(couleurs,14).sel) { set %premlettretexte $did(couleurs,14).sel }
}
on 1:dialog:couleurs:sclick:16: {
  if ($did(couleurs,16).sel) { set %premlettrefond $did(couleurs,16).se }
}
et encore là c'est pck j'ai fai un C/C de ton code et l'ai modif sans le repenser pck deja tu pourais regrouper tes on dialog et mm regrouper encore pleins de trucs.
Pour le On input à mon avis le vrai probleme reside dans le premier caractere qui est tapé, à savoir si c'est un "/" ou "!" etc.. donc te suffit de faire un $left($1,1) et de traiter tous les cas possibles.
ISoKa
0
Rejoignez-nous