Accueil > Forum > > > > Problèmes avec les tokens
Problèmes avec les tokens
mercredi 6 juillet 2005 à 06:27:11 |
Problèmes avec les tokens

ckemoua2
|
bonjour.
Est ce que quelqu'un peut me dire où est le problème dans cet alias ?
Alias Testage {
var %a test un deux
var %b TEST UN DEUX
var %c 0
while (%c != $gettok(%a,0,32)) {
inc %c
if ($istokcs($1-,$gettok(%a,%c,32),32)) {
var %adire $reptok($1-,$gettok(%a,%c,32),$gettok(%b,%c,32),32)
}
}
say %adire
}
Lorsque je fais:
//say $reptok(test un deux,test,TesT,32)
Or là, j'ai une erreure dans le
" $reptok($1-,$gettok(%a,%c,32),$gettok(%b,%c,32),32) "
Mon problème étant que j'aimerai pouvoir remplacer d'autre mots que "test".
Merci d'avance :d
|
|
mercredi 6 juillet 2005 à 06:28:32 |
Re : Problèmes avec les tokens

ckemoua2
|
J'ai oublié une phrase dsl.
"
Lorsque je fais:
//say $reptok(test un deux,test,TesT,32)
çà fonctionne correctement et me sort ( TesT un deux )
Voilà.
|
|
mercredi 6 juillet 2005 à 10:39:57 |
Re : Problèmes avec les tokens

Nolson
|
Assigne $1- à ta variable %adire au début, ensuite remplace tous les $1- de tes identifieurs de tokens par %adire. N'oublie pas le "=" dans la syntaxe de déclaration des vars.
Mais si tu cherches à faire du remplacement, jette un oeil à $replace et $replacecs
|
|
mercredi 6 juillet 2005 à 13:08:07 |
Re : Problèmes avec les tokens

ckemoua2
|
Alias Testage {
var %adire = $1-
var %a = un deux trois
var %b = Un Deux Trois
var %c = 0
while (%c != $gettok(%adire,0,32)) {
inc %c
if ($istokcs(%adire,$gettok(%a,%c,32),32)) {
var %adiree = $reptok(%adire,$gettok(%a,%c,32),$gettok(%b,%c,32),32)
var %adire = $replace(%adire,$gettok(%a,%c,32),$gettok(%b,%c,32))
}
}
say /testage $1-
say %adire ($replace)
say %adiree ($reptok)
}
Donc voilà, j'ai essayé de tester avec un $replace comme tu m'as conseillé Nolson, a vrai dire je suis a l'aise ni avec l'un ni avec l'autre...
En fait les deux ne fonctionnent pas tout a fait comme il faudrait....
Soit ( le $reptok ) ne me sort rien si ma phrase ne contient pas de mot dans mes var de remplacement, soir le $replace ne tiens pas compte des espaces et remplace du coup testeur en TESTeur.
Cet alias "en test" sera ensuite combiner si j'y arrive a un on input pour détecter en plus les pseudos et modifier leurs mise en forme. Voilà :s
J'ai déjà posté un thème identique il y'a un bail.. mais n'ayant pas trouvé là solution ni par moi meme ni par le site j'avais un peu abandonné.
et là, je remets çà ;)
Merci a tous pour toute aide éventuelle.
CkemouA :d
|
|
mercredi 6 juillet 2005 à 16:30:18 |
Re : Problèmes avec les tokens

Huitre
|
si j ai bien compris tu veux faire un $reptok d un $gettok, je te
conseille de jeter un oeil sur $puttok qui lui remplace ce que tu veux
a l endroit ou tu veux, combiné au $findtok , tu devrais t en sortir ...
|
|
mercredi 6 juillet 2005 à 18:04:14 |
Re : Problèmes avec les tokens

Nolson
|
Il faut dire avant tout que le code n'est pas génial, mais au moins tu te donnes la peine de le faire (comparé à certain(e)s qui demandent du tout cuit), donc ça me donne envie de t'aider.
"En fait les deux ne fonctionnent pas tout a fait comme il faudrait.... Soit ( le $reptok ) ne me sort rien si ma phrase ne contient pas de mot dans mes var de remplacement"
Normal, tu essaies les deux solutions en même temps et tu as bien assigné $1- à %adire mais pas à %adiree. Ensuite tu modifies la variable %adiree à partir de %adire, et tu ne fais ton test que sur %adire donc si tu n'as aucun mot de ta liste, il ne passe pas le "if" et donc %adiree ne prend jamais de valeur.
"soir le $replace ne tiens pas compte des espaces et remplace du coup testeur en TESTeur."
Tout à fait, il faut essayer de le formater à ce qu'on recherche, car utilisé en l'état ça ne convient pas à ce que tu désires.
Maintenant que tu viens de nous en dire plus, on voit où tu veux en venir, en fait tu cherches à repérer les nicks dans les phrases que tu tapes pour leur donner un format particulier. Donc même avec la première méthode, tu aurais eu besoin de créer une liste des nicks présents sur le chan à chaque input, afin de les comparer. Imagine la lourdeur sur les gros chans. De plus si un même nick est répété deux fois dans la phrase seul le premier aurait été formaté.
Pour rester dans la méthode token, voici un exemple parmi tant d'autres de ce que tu aurais pu faire :
alias testage { ;on initialise les variables ( $0 correspond au nombre de mots dans $1- ) var %c = $0 , %adire = $1- , %d1 , %d2 ;on boucle sur le nombre de mots while (%c) { ;on assigne les mots un par un à une variable %d1 = $gettok(%adire,%c,32) ;on verifie si le mot est un nick du salon if (%d1 ison #) { ;on assigne à une nouvelle variable le nouveau format du nick ;par exemple : première lettre en majuscule et nick en gras %d2 = $chr(2) $+ $iif($left(%d1,1) isalpha,$upper($v1),$v1) $+ $right(%d1,-1) $+ $chr(2) ;on remplace le nick sans format par le nick formaté %adire = $puttok(%adire,%d2,%c,32) } dec %c } ;on envoie le message (mettre %adire pour envoyer avec formatage de nick ou $1- pour envoyer sans formatage) .msg # %adire ;on retourne en echo la nouvelle phrase formatée echo -t # ( $+ $me $+ ) %adire }
A utiliser dans l'input, et ne pas oublier de haltdef. Le formatage du nick s'effectue dans la ligne bleue. Quand le sens d'évolution de la variable de la boucle n'a pas d'importance (ce n'est pas toujours le cas), il vaut mieux décrémenter cette dernière, c'est plus lisible. Voila le principe de base, à toi de le mettre à ta sauce.
|
|
jeudi 7 juillet 2005 à 10:41:20 |
Re : Problèmes avec les tokens

ckemoua2
|
Coucou.
Petite précision, j'ai du mal m'exprimer.
Cet alias doit servir (et non, çà marche toujours pas lol) à remplacer un(des) mot(s) ( Précisé(s) au préalable dans une variable ) dans une phrase, non pas les pseudos.
Je suis donc en train de tester la solution de Huitre.
Pour ce qui est de ta solution Nolson, qui fonctionne, j'ai juste deux petite questions:
L'identifiant $v1 il équivaut a quoi ?
et ensuite.
Lorsque je teste une phrase comprenant un pseudo, çà me supprime sa première lettre( au pseudo )
Je ne sais pas si çà vient de moi ou pas :)
" Coucou CrEsuS devient . |10:29:34| (CrEsUs) Coucou rEsUs "
A par avoir enlver les commentaires pour y voir plus clair je n'ai touché a rien.
|
|
jeudi 7 juillet 2005 à 14:34:56 |
Re : Problèmes avec les tokens

Nolson
|
Tu avais dit que cet alias servirait à detecter les pseudos et changer leurs mises en forme ;-) Mais c'est pas grave, y a pas de problème. Il suffit d'adapter le code à ce que tu désires.
if (%d1 ison #) repère le pseudo afin de changer sa mise en forme ensuite. Si tu veux repérer un mot quelconque contenu dans une variable il suffit que tu la remplaces par if (%d1 isin %VariableContenantLesMots)
Je suppose que tu n'as pas la version 6.16 de mIRC. $v1 est un nouvel identifieur équivalent à $ifmatch. Tu peux donc le remplacer par $ifmatch. Donc c'est normal que tu n'aies pas la première lettre car cette identifieur n'existe pas dans ta version de mIRC.
Dans tous les cas à toi d'adapter la mise en forme du mot (variable %d2) et du retour en echo à ce que tu recherches. Bonne continuation.
|
|
jeudi 7 juillet 2005 à 15:04:48 |
Re : Problèmes avec les tokens

Nolson
|
Je viens de m'apercevoir que "le test contrôlant que le premier caractère est une lettre afin de la mettre en majuscule" est inutile. $upper retournera de toute façon le caractère tel qu'il est si ce n'est pas une lettre. Donc pas besoin de t'embêter avec le $iif.
%d2 = $chr(2) $+ $iif($left(%d1,1) isalpha,$upper($v1),$v1) $+ $right(%d1,-1) $+ $chr(2) devient : %d2 = $chr(2) $+ $upper($left(%d1,1)) $+ $right(%d1,-1) $+ $chr(2)
|
|
jeudi 7 juillet 2005 à 15:59:30 |
Re : Problèmes avec les tokens

Nolson
|
Oups, une petite ânerie, au niveau du repérage : Ne pas mettre if (%d1 isin %VariableContenantLesMots) qui captera même les portions de mots (ce n'est pas ce que tu veux) mais if ($istokcs(%VariableContenantLesMots,%d1,32)) qui verifiera uniquement les mots entiers.
|
|
Cette discussion est classée dans : test, var, problèmes, gettok, reptok
Répondre à ce message
Sujets en rapport avec ce message
Question dont la reponse me sera bien utile [ par Tidam ]
Alors Voila C juste que j'aimerais savoir comment on fait pour dire que 1 variable soit = a toutes les variables dont le nom commence par %test-Exempl
probleme de variable [ par Virtuallllll ]
depuis aujourd'hui plus aucun script qui utilise des variables ne marche ... a chaque fois ds le status il me met "%cmd Unknown command"et qd j'essaye
%test [ par xionoxid ]
Salut à tous enfaite je voudrais mettre %script = Mon script preferetitle "Configuration de %script "mais ça veut pas sur la fenetre il affiche Config
Bleh ! un test [ par Knox ]
Changement de nick rapide [ par DJOz ]
Voila je bosse sur un changement de nick rapide, le script de base a ete repeché sur votre site voila la source on 1:input:*: { if ( !oqp == $gettok(
$reptok($reptok($reptok [ par N4d1n3 ]
K. Avec ça, je peux faire deux $reptok... a 3 ça marche pu. Mais moi je veux mettre plus de smiley a remplacer, comment je fais? Exemple je veux rajou
Problème bête [ par CyberP ]
J'ai mis ce code (c'est juste un test) dans un remote mais il ne fonctionne pason *:TEXT:*:*:{ /say test}Quelle est l'erreur s'il vous plait ?CyberP,
UN PB AVEC /SCON [ par skalp ]
alias view { if ($scon(0) > 0 ) { /write -c $1- var %x = 1 :next /scon %x /write $1- etat $!status /scon %x /write $1- reseau $!netw
faire une boucle de $query [ par jujuquatre ]
~~~~~~~~~~~QuQuQuatrEuH~~~~~~~~~~~Salut, Je voudrais faire une boucle que quand quelqu'un change de pseudo sa regarde dans nos pv si il est dedans et
Interdire un mot [ par theNoX ]
Bonsoir J'aimerais savoir comment interdir un mot :le mot serai "test" et celui ci dans n'importe quel commande du genre :On *:text:!msg *:#: { /com
Livres en rapport
|
Derniers Blogs
[TECHDAYS 2010] #03 - WEB CONTENT MANAGEMENT SOUS SHAREPOINT 2010[TECHDAYS 2010] #03 - WEB CONTENT MANAGEMENT SOUS SHAREPOINT 2010 par pierre
Stephane Cordonnier de MCNext nous présente les fonctionnalités Web Content Management (WCM) sous SharePoint 2010. Qu'est-ce que le WCM ECM, GED, RM, WCM c'est quoi Plateforme SharePoint Versions SharePoint 2010 SharePoint Fondation...
Cliquez pour lire la suite de l'article par pierre [DESIGN PATTERNS] PARTIE 2: DIP: DEPENDENCY INVERSION PRINCIPLE[DESIGN PATTERNS] PARTIE 2: DIP: DEPENDENCY INVERSION PRINCIPLE par tja
C'est le dernier principe des principes du Design Orienté Objet (The Principles of Object Oriented Design) fondés par Robert C. Martin plus connu sous le pseudonyme d'Uncle Bob.
l'image empruntée de LosTechies.
Je ne traite pas les principes dans...
Cliquez pour lire la suite de l'article par tja TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice 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
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
Comparez les prix

HTC Hero
Entre 550€ et 550€
|