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
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : ON RAWMODERE : ON RAWMODE par WorldDMT
Cliquez pour lire la suite par WorldDMT AVERTISSMENT ET KIKKAVERTISSMENT ET KIKK par mouhcine951990
Cliquez pour lire la suite par mouhcine951990
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|