cs_PaDa
Messages postés1804Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention22 septembre 20095 12 juil. 2008 à 16:42
Je ne sais plus si c'est writeini, $readini, ou les deux qui ne supportent pas les couleurs. Ou c'est peut-être une spécificité des fichiers ini. Quoi qu'il en soit, rien ne t'empêche de te faire un système pour écrire / lire des couleurs, comme HTML le fait pour les caractères non-ascii.
Ou tu peux te faire ton propre système, un truc genre :
alias writeini2 writeini $iif($1 == -n,$1-2 $encodeini($3-),$1 $encodeini($2-))
alias readini2 return $decodeini( $readini($1,$2,$3,$4) )
alias encodeini return $replace($1-,$chr(2),<>,$chr(3),<<k>>,$chr(16),<<r>>,1F;$chr(31),<>,$chr(15),<<o>>)
alias decodeini return $replace($1-,<>,$chr(2),<<k>>,$chr(3),<<r>>,$chr(16),<>,1F;$chr(31),<<o>>,$chr(15))
Ces aliases ont un gros défaut, si ta chaine de départ contient "<<k>>" par exemple, ils vont considérer au décoding que c'est un Ctrl+K. A toi de te débrouiller pour faire un truc plus carré si besoin ;-)
Bien sûr je me dois de finir cette réponse en te disant que c'est un peu de la merde les fichiers .ini, y'a trop de limitations si tu veux faire des choses compliquées (genre écrire des couleurs), donc utilise les htables ! :D
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 12 juil. 2008 à 22:28
/writeini enleve les code control du text avant d'écrire, soit parce que c'est mirc qui le fait, soit parce c'est window qui le fait
Les item des .ini ne peuvent pas commencé par un ; aussi, une spécificité de window ça
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 13 juil. 2008 à 11:00
salut
PADA, le problème était simple, pas besoin de replace et tout ça
mais il parait comme WIMS a dit "writeini enlève les code control du text avant d'écrire",je ne sais pas si c'est le Win ou le mIRC mais bon
dans un événement il y a une condition qui writeini et une autre la lit "$read(...)" mais le problème était juste au niveau de writeini ça écrivait dans le fichier .ini sans les codes mais bon j'ai eu une idée et j'ai essayé ça marche déjà
puisque le writeini ne prend pas les codes (Ctrl+K ou Ctrl+B) mais c'est possible de mettre "%" donc il fallait que je mette une valeur interne avant la lecture par exemple
/writeini test.ini couleur text %r $+ text %v $+ text
lors de l'événement pour lire les données
var %r 3;4,
%v 3;3
masg # $readini(test.ini,couleur,text)
> text text
bon pour hadd j'ai pas essayé mais je verrai si ça marche selon mon besoin<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>