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
[WF4] PASSAGE D'ARGUMENTS LITERAL, VISUALBASICVALUE OU LAMBDAVALUE?[WF4] PASSAGE D'ARGUMENTS LITERAL, VISUALBASICVALUE OU LAMBDAVALUE? par JeremyJeanson
Avec la sortie de la RC de Visual Studio 2010, Microsoft a mis un peu les points sur leS i en ce qui concernait le passage d'arguments. Mais nous somme un certain nombre à avoir pris ce changement comme un coup dur. Pour résumer la situation : à la sortie...
Cliquez pour lire la suite de l'article par JeremyJeanson [RIA SERVICES] INCLUDE ET DOMAINDATASOURCE[RIA SERVICES] INCLUDE ET DOMAINDATASOURCE par Audrey
Dans un de mes articles précédents , j'avais parlé des DomainDataSource avec RIA Services dans le cas d'une interface Maître - Détail. Dans le même principe, je vais parler d'une autre manière de mettre en forme ce cas d'interface avec RIA Services. Et po...
Cliquez pour lire la suite de l'article par Audrey ZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATIONZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATION par ROMELARD Fabrice
Une des nouveautés de la version V 3.0 était l'apparition de l'onglet Social qui ne fonctionnait que si le MarketPlace était activé sur son poste. Cela limitait donc son intérêt, car hors du cadre commercial USA-CANADA, peu de monde trouva...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice PRATIQUE DE SILVERLIGHT PAR ERIC AMBROSIPRATIQUE DE SILVERLIGHT PAR ERIC AMBROSI par MPOWARE
Je viens de finir la lecture du dernier livre d'
Eric Ambrosi
éditions PEARSON
Son livre donne une approche pratique de Silverlight qui sera aussi bien comprise par le développeur que par le designeur.
Tous les aspects du développement RIA sont abor...
Cliquez pour lire la suite de l'article par MPOWARE APPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NETAPPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NET par odewit
2 déclinaisons de Silverlight et 2 déclinaisons de Mono permettent dorénavant (ou permettront prochainement) de développer des applications .NET mobiles pour les principales plates-formes du marché :
Silverlight pour Symbian, basé sur Silverlight 2...
Cliquez pour lire la suite de l'article par odewit
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|