Accueil > > > GESTION-COULEURS-SPECIALES@UTILISATION-REGSUBEX
GESTION-COULEURS-SPECIALES@UTILISATION-REGSUBEX
Information sur la source
Description
Bonjour :o) Au départ, j'ai commencé à faire un bout de code afin de mettre en évidence les chaînes de caractères ayant même couleur que la couleur du fond. Puis un ami m'a dit que l'idéal serait aussi de pouvoir automatiquement changer/modifier le texte si un user écrit avec la couleur de fond que j'utilise. A partir de là, j'ai ébauché ce petit snippet. En voici le descriptif: Gestion-Couleurs-Spéciales Utilisation $regsubex Cette fonction a 2 utilisations: 1) Elle détecte et modifie une chaîne si celle-ci est écrite avec la même couleur de fond que chez soi. 2) De plus, elle détecte et modifie la chaîne s'il y'a des parties écrites avec la même couleur de son fond. Dans les deux cas, le snippet renvoit une chaîne reformatée automatiquement :o) Utilisation: $Special-Color(Chaîne de Caractère) ou /Special-Color Chaîne de Caractère
Source
- ; ---------------------------------------------
- ; Gestion.Couleurs.Spéciales@10.05.2007@TropNul
- ; ---------------------------------------------
- ; Fonctions:
- ; Cette fonction a 2 utilisations:
- ; 1) Elle détecte et modifie une chaîne si celle-ci est écrite avec la même couleur de fond que chez soi.
- ; 2) De plus, elle détecte et modifie la chaîne s'il y'a des parties écrites avec la même couleur de son fond.
- ; -
- ; Cela permet principalement de ne plus surligner une chaîne qu'on ne verrait pas :o)
- ; -
- ; Utilisation: /Special-Color Chaîne OU $Special-Color(Chaîne)
- ; -----------------
- ; Version Commentée
- ; -----------------
- Alias Special-Color {
-
- ; Attribution à %z de la façon de réponse (echo ou return) si $isid ou pas ...
-
- Var %z = $iif($isid,Return,Echo >)
-
- ; S'il existe au moins un paramètre ...
-
- If $1 {
-
- ; Initialisation des variables ...
- ; - Ma couleur de fond(%b) , Chaîne fournie(%dat)
-
- Var %b = $color(background) , %dat = $1-
-
- ; - Couleur de remplacement(%r)
-
- If (%b == 0) { Var %r = $+($chr(3),01) }
- Else { Var %r = $+($chr(3),$abs($calc(%b -16))) }
-
- ; - Ci-dessous les Expressions Rationnelles utilisées pour détecter les deux cas de figures de l'intitulé ...
- ; >> \x2 = CtrlB , \x2C = $chr(44) , \x3 = CtrlK , \x1F = CtrlU , \xF = CtrlO
- ; La variable %i correspond à < CtrlBCtrlU OU CtrlUCtrlB suivi de CtrlK suivi de CtrlBCtrlU OU CtrlUCtrlB >
-
- Var %i = (?:\x2?\x1F?|\x1F?\x2?)\x3(?:\x2?\x1F?|\x1F?\x2?)
-
- ; Les variables %h & %m vont quant à elles, détecter la fin d'un morceau de chaîne et surtout contenir la dite chaîne !
-
- Var %h = (\x2?[^0-9][^\x3\xF]+) , %m = (\x2?[^\x3\xF]+)
-
- ; La variable %j vérifiera si la chaîne reçue a une couleur de fond égale à la couleur de l'écriture
-
- Var %j = (1([0-5]),1\4|0([0-9]),0\5|0([2-9]),\6|([0-9]),0\7|([2-9]),\8) $+ %m $+ $chr(124) $+ (0([01]),\11|([01]),\12) $+ %h
-
- ; La variable %k, ci-dessous est 'calculée' pour gérer les chaînes reçues de couleur
- ; égale à la couleur de fond qu'on utilise.
- ; Cela permet donc de ne pas 'surligner' ;o)
-
- If ($len(%b) == 1) {
- If $regex(%b,/[02-9]/) { Var %k = ((0? $+ %b $+ )\x2C(0? $+ %b $+ )[^ $+ %b $+ -9]|(0? $+ %b $+ )[^\x2C]) $+ %m }
- Else { Var %k = (01,01|01,1[^0-5]|1,1[^0-5]|1,01|0?1[^0-9]((?<=\x2C)[^0-9])|(01)[^\x2C]|1[^0-5\x2C]) $+ %m }
- }
- Else { Var %k = (( $+ %b $+ )\x2C( $+ %b $+ )|( $+ %b $+ )[^\x2C]|( $+ %b $+ )\x2C[^0-9]) $+ %m }
-
- ; Les variables %c & %d contiennent les Expressions Rationnelles finales utilisées dans les $regsubex
- ; %c : utilisée pour détecter un texte écrit avec la couleur de mon fond
- ; - c'est-à-dire: CtrlK suivi de %b OU CtrlK suivi de %b,%b
- ; %d : utilisée pour détecter un texte avec fond où la couleur est de la forme suivante:
- ; - CtrlKNuméro1,Numéro2 où Numéro1 == Numéro2
-
- Var %c = /( $+ %i $+ ( $+ %k $+ ))/gi , %d = /( $+ %i $+ ( $+ %j $+ ))/gi
-
- ; Le $regsubex en bref: permet de substituer d'une chaîne fournie ce qui est vérifiée par l'expression rationnelle en second paramètre
- ; Utilisation Générale: $regsubex(Chaîne,Expression Rationnelle,S'il y'a un match remplacer par ceci)
- ; Première détection: La chaîne est écrite avec la couleur de mon fond
- ; en décortiquant:
- ; - S'il y'a un match, remplacer par ceci > $+($chr(15),%r,>,\2,$chr(15))
- ; --- La 'Chaîne' est représentée par \2 selon la disposition des regroupements dans l'expression rationnelle %c
- ; Donc, s'il y'a une détection, j'aurais en (echo|retour): CtrlOCtrlKCouleurdeRemplacement>ChaîneCtrlO
-
- Var %dat = $regsubex(%dat,%c,$+($chr(15),%r,>,\2,$chr(15)))
-
- ; Deuxième détection: La chaîne a des parties de texte cachées (Couleur texte == Couleur Fond) ...
- ; en décortiquant:
- ; - S'il y'a un match remplacer par ceci > $+($chr(15),%r,>,\2,$chr(15))
- ; --- La 'Chaîne' est représentée par \2 selon la disposition des regroupements dans l'expression rationnelle %d
- ; Donc, s'il y'a une détection, j'aurais en (echo|retour): CtrlOCtrlKCouleurdeRemplacement>ChaîneCtrlO
-
- %z $regsubex(%dat,%d,$+($chr(15),%r,>,\2,$chr(15)))
- }
-
- ; Affichage d'erreur si aucun paramètre n'est fournit à l'appel de la fonction :o)
-
- Else { %z $+($chr(3),02,* /Special-Color:,$chr(3)) insufficient parameters - paramètres insuffisant }
- }
- ; ------------------------
- ; Version Non-Commentée :p
- ; ------------------------
- Alias Special-Color {
- Var %z = $iif($isid,Return,Echo >)
- If $1 {
- Var %b = $color(background) , %dat = $1-
- If (%b == 0) { Var %r = $+($chr(3),01) }
- Else { Var %r = $+($chr(3),$abs($calc(%b -16))) }
- Var %i = (?:\x2?\x1F?|\x1F?\x2?)\x3(?:\x2?\x1F?|\x1F?\x2?) , %h = (\x2?[^0-9][^\x3\xF]+) , %m = (\x2?[^\x3\xF]+)
- Var %j = (1([0-5]),1\4|0([0-9]),0\5|0([2-9]),\6|([0-9]),0\7|([2-9]),\8) $+ %m $+ $chr(124) $+ (0([01]),\11|([01]),\12) $+ %h
- If ($len(%b) == 1) {
- If $regex(%b,/[02-9]/) { Var %k = ((0? $+ %b $+ )\x2C(0? $+ %b $+ )[^ $+ %b $+ -9]|(0? $+ %b $+ )[^\x2C]) $+ %m }
- Else { Var %k = (01,01|01,1[^0-5]|1,1[^0-5]|1,01|0?1[^0-9]((?<=\x2C)[^0-9])|(01)[^\x2C]|1[^0-5\x2C]) $+ %m }
- }
- Else { Var %k = (( $+ %b $+ )\x2C( $+ %b $+ )|( $+ %b $+ )[^\x2C]|( $+ %b $+ )\x2C[^0-9]) $+ %m }
- Var %c = /( $+ %i $+ ( $+ %k $+ ))/gi , %d = /( $+ %i $+ ( $+ %j $+ ))/gi
- Var %dat = $regsubex(%dat,%c,$+($chr(15),%r,>,\2,$chr(15)))
- %z $regsubex(%dat,%d,$+($chr(15),%r,>,\2,$chr(15)))
- }
- Else { %z $+($chr(3),02,* /Special-Color:,$chr(3)) insufficient parameters - paramètres insuffisants }
- }
- ; -----
- ; Eof()
- ; -----
; ---------------------------------------------
; Gestion.Couleurs.Spéciales@10.05.2007@TropNul
; ---------------------------------------------
; Fonctions:
; Cette fonction a 2 utilisations:
; 1) Elle détecte et modifie une chaîne si celle-ci est écrite avec la même couleur de fond que chez soi.
; 2) De plus, elle détecte et modifie la chaîne s'il y'a des parties écrites avec la même couleur de son fond.
; -
; Cela permet principalement de ne plus surligner une chaîne qu'on ne verrait pas :o)
; -
; Utilisation: /Special-Color Chaîne OU $Special-Color(Chaîne)
; -----------------
; Version Commentée
; -----------------
Alias Special-Color {
; Attribution à %z de la façon de réponse (echo ou return) si $isid ou pas ...
Var %z = $iif($isid,Return,Echo >)
; S'il existe au moins un paramètre ...
If $1 {
; Initialisation des variables ...
; - Ma couleur de fond(%b) , Chaîne fournie(%dat)
Var %b = $color(background) , %dat = $1-
; - Couleur de remplacement(%r)
If (%b == 0) { Var %r = $+($chr(3),01) }
Else { Var %r = $+($chr(3),$abs($calc(%b -16))) }
; - Ci-dessous les Expressions Rationnelles utilisées pour détecter les deux cas de figures de l'intitulé ...
; >> \x2 = CtrlB , \x2C = $chr(44) , \x3 = CtrlK , \x1F = CtrlU , \xF = CtrlO
; La variable %i correspond à < CtrlBCtrlU OU CtrlUCtrlB suivi de CtrlK suivi de CtrlBCtrlU OU CtrlUCtrlB >
Var %i = (?:\x2?\x1F?|\x1F?\x2?)\x3(?:\x2?\x1F?|\x1F?\x2?)
; Les variables %h & %m vont quant à elles, détecter la fin d'un morceau de chaîne et surtout contenir la dite chaîne !
Var %h = (\x2?[^0-9][^\x3\xF]+) , %m = (\x2?[^\x3\xF]+)
; La variable %j vérifiera si la chaîne reçue a une couleur de fond égale à la couleur de l'écriture
Var %j = (1([0-5]),1\4|0([0-9]),0\5|0([2-9]),\6|([0-9]),0\7|([2-9]),\8) $+ %m $+ $chr(124) $+ (0([01]),\11|([01]),\12) $+ %h
; La variable %k, ci-dessous est 'calculée' pour gérer les chaînes reçues de couleur
; égale à la couleur de fond qu'on utilise.
; Cela permet donc de ne pas 'surligner' ;o)
If ($len(%b) == 1) {
If $regex(%b,/[02-9]/) { Var %k = ((0? $+ %b $+ )\x2C(0? $+ %b $+ )[^ $+ %b $+ -9]|(0? $+ %b $+ )[^\x2C]) $+ %m }
Else { Var %k = (01,01|01,1[^0-5]|1,1[^0-5]|1,01|0?1[^0-9]((?<=\x2C)[^0-9])|(01)[^\x2C]|1[^0-5\x2C]) $+ %m }
}
Else { Var %k = (( $+ %b $+ )\x2C( $+ %b $+ )|( $+ %b $+ )[^\x2C]|( $+ %b $+ )\x2C[^0-9]) $+ %m }
; Les variables %c & %d contiennent les Expressions Rationnelles finales utilisées dans les $regsubex
; %c : utilisée pour détecter un texte écrit avec la couleur de mon fond
; - c'est-à-dire: CtrlK suivi de %b OU CtrlK suivi de %b,%b
; %d : utilisée pour détecter un texte avec fond où la couleur est de la forme suivante:
; - CtrlKNuméro1,Numéro2 où Numéro1 == Numéro2
Var %c = /( $+ %i $+ ( $+ %k $+ ))/gi , %d = /( $+ %i $+ ( $+ %j $+ ))/gi
; Le $regsubex en bref: permet de substituer d'une chaîne fournie ce qui est vérifiée par l'expression rationnelle en second paramètre
; Utilisation Générale: $regsubex(Chaîne,Expression Rationnelle,S'il y'a un match remplacer par ceci)
; Première détection: La chaîne est écrite avec la couleur de mon fond
; en décortiquant:
; - S'il y'a un match, remplacer par ceci > $+($chr(15),%r,>,\2,$chr(15))
; --- La 'Chaîne' est représentée par \2 selon la disposition des regroupements dans l'expression rationnelle %c
; Donc, s'il y'a une détection, j'aurais en (echo|retour): CtrlOCtrlKCouleurdeRemplacement>ChaîneCtrlO
Var %dat = $regsubex(%dat,%c,$+($chr(15),%r,>,\2,$chr(15)))
; Deuxième détection: La chaîne a des parties de texte cachées (Couleur texte == Couleur Fond) ...
; en décortiquant:
; - S'il y'a un match remplacer par ceci > $+($chr(15),%r,>,\2,$chr(15))
; --- La 'Chaîne' est représentée par \2 selon la disposition des regroupements dans l'expression rationnelle %d
; Donc, s'il y'a une détection, j'aurais en (echo|retour): CtrlOCtrlKCouleurdeRemplacement>ChaîneCtrlO
%z $regsubex(%dat,%d,$+($chr(15),%r,>,\2,$chr(15)))
}
; Affichage d'erreur si aucun paramètre n'est fournit à l'appel de la fonction :o)
Else { %z $+($chr(3),02,* /Special-Color:,$chr(3)) insufficient parameters - paramètres insuffisant }
}
; ------------------------
; Version Non-Commentée :p
; ------------------------
Alias Special-Color {
Var %z = $iif($isid,Return,Echo >)
If $1 {
Var %b = $color(background) , %dat = $1-
If (%b == 0) { Var %r = $+($chr(3),01) }
Else { Var %r = $+($chr(3),$abs($calc(%b -16))) }
Var %i = (?:\x2?\x1F?|\x1F?\x2?)\x3(?:\x2?\x1F?|\x1F?\x2?) , %h = (\x2?[^0-9][^\x3\xF]+) , %m = (\x2?[^\x3\xF]+)
Var %j = (1([0-5]),1\4|0([0-9]),0\5|0([2-9]),\6|([0-9]),0\7|([2-9]),\8) $+ %m $+ $chr(124) $+ (0([01]),\11|([01]),\12) $+ %h
If ($len(%b) == 1) {
If $regex(%b,/[02-9]/) { Var %k = ((0? $+ %b $+ )\x2C(0? $+ %b $+ )[^ $+ %b $+ -9]|(0? $+ %b $+ )[^\x2C]) $+ %m }
Else { Var %k = (01,01|01,1[^0-5]|1,1[^0-5]|1,01|0?1[^0-9]((?<=\x2C)[^0-9])|(01)[^\x2C]|1[^0-5\x2C]) $+ %m }
}
Else { Var %k = (( $+ %b $+ )\x2C( $+ %b $+ )|( $+ %b $+ )[^\x2C]|( $+ %b $+ )\x2C[^0-9]) $+ %m }
Var %c = /( $+ %i $+ ( $+ %k $+ ))/gi , %d = /( $+ %i $+ ( $+ %j $+ ))/gi
Var %dat = $regsubex(%dat,%c,$+($chr(15),%r,>,\2,$chr(15)))
%z $regsubex(%dat,%d,$+($chr(15),%r,>,\2,$chr(15)))
}
Else { %z $+($chr(3),02,* /Special-Color:,$chr(3)) insufficient parameters - paramètres insuffisants }
}
; -----
; Eof()
; -----
Conclusion
Merci de votre attention :o)
Historique
- 24 avril 2007 16:21:36 :
- petit oubli lors de la première détection - modification $regsubex
- 24 avril 2007 23:57:45 :
- Explications plus détaillées comme demandé :)
- 10 mai 2007 19:05:11 :
- Mise à Jour majeure.
- Changement du format renvoyé.
- Correction de bugs cités précédemment.
- Changement du nom de la fonction :o)
- 10 mai 2007 23:19:39 :
- .
- 11 mai 2007 12:07:21 :
- modification des expressions rationnelles concernant la détection de couleur = couleur de son fond
- 11 mai 2007 12:37:44 :
- erreur dans les commentaires. j'avais confondu CTRL+O & CTRL+K15
- 11 mai 2007 13:08:40 :
- modification des commentaires.
- 11 mai 2007 15:40:58 :
- optimisation des regexp de %j et %k
- 11 mai 2007 16:18:43 :
- .
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Tut0riel Couleur ?? [ par HatMan ]
je cherche un tuto sur les couleur pour me faire un script avez vous cela ??
nicklist [ par MecModeKiller ]
jcroi ke je rempli le forum a moi tout seul mdrmerci bcp de m'aidévou sorié pa comment faire pour modifié les couleur et laparence de la nicklist ( a
Je Cherche Tutoriel pour couleur svp [ par T0x1K ]
Voila , c est assé urgent donc...
Changer les couleur De L'heure a gauche! [ par Jp2A ]
Voila Je voudrais changer les couleur de l'heure a gauche g deja fé:on ^1:text:*:#:{if ($nick isop $chan) { echo $chan 0,24(15 $time 4) 2<
Switchbar... [ par Mip ]
Je viens de créer une switchbar mais malheuresement lorsque l'on parle sur un autre chan, je ne peux pas le voir :-/ Je n'ai pas trouvé de fonction av
Nick list en couleur en fontion du OP,voice..... [ par PrEdAt0r ]
slt !je debute dans le scripting et jaimerai savoir komment on fait pour mettre les nick de la nicklist en couleur en fonction2 leur inportance (OP,HA
Changement de couleur du texte [ par Paco293410 ]
Comment fait on pour changer de couleur du texte que j'envois ??Je ne veux pas taper à chaque fois ctrl+k pour mettre la couleur que je veux et je n'a
recherche commande pr mdx [ par hermes93 ]
Voila je cherche une commande avec mdx.dllqui me permet de metre en couleur dans un dialog les "tab" (bouton edit text) je c modifier toutsa mais quan
pb de couleur [ par djblackhead ]
je suis en pleine creation de script et je suis arreté par un pb assez chiant : je souhaiterai ( avec une remote ) modifier les paramettre d'affichage
Problème de couleurs quand j'écris (il écrit en double) [ par Camanche ]
J'ai installé une source pour pouvoir sélectionner ma couleur d'écriture sur mon script mais il m'écrit mon texte en double. Je ne comprends pas pourq
|
Derniers Blogs
TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVéTECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVé par ROMELARD Fabrice
Speaker : Guillaume Rochette Cette session est dédiée à fournir le retour sur la mise en place d'un cloud privé (IaaS) par Osiatis pour son compte ou celui de ses clients. Ce projet s'est déroulé sur 4 mois et a permis de faire évoluer...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYSTECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYS par ROMELARD Fabrice
Speakers : Lionel Limozin et Alain Marty La session commence par une découverte de SharePoint à travers la mise en place d'un environnement SharePoint pour la gestion des Sessions animées par BeWise. Le besoin est très ba...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : AIDERE : AIDE par Nico26000
Cliquez pour lire la suite par Nico26000 RE : AIDERE : AIDE par WorldDMT
Cliquez pour lire la suite par WorldDMT AIDEAIDE par Nico26000
Cliquez pour lire la suite par Nico26000
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|