Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème: HashTables [ Archives / Scripting ] (Lestat_2070)

mardi 4 octobre 2005 à 18:38:48 | Problème: HashTables

Lestat_2070

Membre Club
Bonjour à tous,
J'ai essayé de me mettre un peu au hashtables, c'est vraiment rapide par rapport aux writeini et aux readini . Seulement, dans ma folle avancée là dedans, je me retrouve pris au piege lol. Je m'explique: je dispose d'un dialogue, et dans celui-ci se trouve un champ, qui doit être sauvegardé dans la partie 'data' de mon item. Côté code, ca donne:
$hget(tablex,cfg) > pour lister le comptenu de cfg, présent dans la 'table'
alias rep { hadd tablex cfg $reptok($hget(tablex,cfg),$gettok($hget(tablex,cfg),$1,9),$2,9) } > pour changer le contenu d'une partie de cfg (j'ai oublié de dire que cfg était tokenisée), et pour utiliser celà, je fais un rep 1 4 et mon premier élément devient 4 .
Donc, c'est là que ca commence à se corser lol ^^. En effet, quand je fais un rep 5 $did(74) (pour mettre à jour le token 5, en lui mettant le contenut du champ 74), eh bien, si le champ contient une virgule (dans la configuration d'un message automatique, par exemple), je l'ai dans l'os comme on dit lol .
On peux penser que je me casse un peu la tête pour rien, et que je devrai mettre chaque élément de cfg sous forme d'item, mais vu que cfg n'est pas le seul item de la tablex... bah vous pouvez facilement imaginer le bordel que ca donne quand je regarde ma table lol ^^. Donc, si quelqu'un à une petite astuce pour moi, j'en serai très content ! Merci de m'avoir lu, et merci d'avance à ceux qui auront le courage de me répondre

mardi 4 octobre 2005 à 18:46:31 | Re : Problème: HashTables

Lestat_2070

Membre Club
Oups, je me suis trompé, c'est dans le cas où l'on met un espace (dans mon test, c'était une virgule et un espace)

mardi 4 octobre 2005 à 19:59:10 | Re : Problème: HashTables

fjxokt

bon j'ai pas tout compris a ton probleme
mais pourquoi ne crée tu pas tout simplement plusieurs items, au lieu de tout "quicher" dans un seul ?

sinon si c'est lorsque tu as un espace que ça foire, tu n'as qu'a tout simplement le remplacer par un char pas tres utilisé (genre $chr(248) )


mardi 4 octobre 2005 à 20:52:26 | Re : Problème: HashTables

Lestat_2070

Membre Club
Bonsoir Fjxokt ^^
Oui lol, j'avoue c'est pas très bien expliqué (je suis pas doué pour ca (pour l'ircscript aussi lol))... en gros, si le $2, dans
hadd tablex cfg $reptok($hget(tablex,cfg),$gettok($hget(tablex,cfg),$1,9),$2,9), bah ca foire lol... plus précisément, il ne me prends pas ce qui se trouve après l'espace. Pour en revenir à plusieurs items, je préfererais ne pas en avoir 50 lol... c'est tout ^^; et puis vu la rapidité des hashtables, c'est pas quelques identifieurs de tokens qui vont ralentir le truc, au point qu'un readini soit plus rapide non  ? (et vu qu'ils y a des experts sur ce site ).
Mouais, je vais essayer un $reptok (par dessus lol), pour changer l'espace en un $chr(x), meme s'il faut le réutiliser un autre $reptok pour remplacer le caractère ascii en espace (comme avant). Merci Fjxokt
note: j'aurai pensé qu'un truc dans le rep 5 $did(74), suffirai à lui faire prendre tout le contenu de $did(74).

mardi 4 octobre 2005 à 21:00:35 | Re : Problème: HashTables

fjxokt

n'oublie pas qu'un $replace est plus rapide qu'un $reptok ;-)

mardi 4 octobre 2005 à 21:02:35 | Re : Problème: HashTables

Lestat_2070

Membre Club
Ah, alors je vais tenter un $reptok, merci !

mercredi 5 octobre 2005 à 13:01:41 | Re : Problème: HashTables

Lestat_2070

Membre Club
Bonjour ^^
Oups, je voulais dire $replace, désolé ^^
Bah... finalement, remplacer les espaces par un autre caractère ne sert à rien lol. Je m'explique: j'ai fait des tests:
Ici, je vais lancer l'allias:    if $did == 80 { rep 5 $did(74) | rep 13 $did(82) | rep 6 $did(72) }
L'allias est là:
alias rep {
echo -ta $1 -- $2
hadd ircutils cfg $reptok($hget(ircutils,cfg),$gettok($hget(ircutils,cfg),$1,9),$2,9)
}
Lorsque le champ 74 contient un espace, evidement le $2 de l'allias retourne que le début (par exemple, s'il s'agit d'un 'bonjour à tous', le $2 contiendra bonjour, $3 à et $4 tous). Donc, me revoilà à la case départ . Il faudrait peut être faire un allias du genre:
alias espace_fix { var %a = 1, %b | while ($ $+(%a)) { var %b $addtok(%b,$ $+(%a),32) } | inc %a } | return %b }
Je teste et je vous tiens au courant ^^


mercredi 5 octobre 2005 à 13:10:20 | Re : Problème: HashTables

Lestat_2070

Membre Club
Réponse acceptée !
Re ^^
Désolé du tripple post , mais j'ai trouvé la solution (enfin ^^). Je viens de m'appercevoir que j'ai trop réfléchit pour rien lol, se code suffit: $rep(5,$did($dname,74)) (et le contenu du champ 74 est totalement dans le token 5, dans la partie data de cfg (lui même dans la tablex lol)). Voilà, c'était vraiment tout bête . Merci quand même à Fjxokt !



Cette discussion est classé dans : champ, lol, cfg, tablex, hashtables


Répondre à ce message

Sujets en rapport avec ce message

Trés important ! Debutants s'abstenir :D lol [ par Sallem ] Je veut en fait , que mon script soit plus esthetique au niveau du graphique car maintenant que je me suis creer tout ce dont j'avais besoin ^^ faut c Auto Vocie ceux qui ont un mots spécifique dans leur nick.. Comment? [ par matrix301 ] Salutt, j'aimerais bien savoir comment on fait pour Auto Voicer des personnes qui on un mot spécifique dans leur nom. Example. Auto Voicer cux qui ren L'utilisation de $$ [ par Dark-Dragoon ] En fesant un if par hasard , je me sui apercue que :alias lol { if a isin $1 || b isin $1 { echo -a c } }revenai a fair alias lol { if a isin $1 $$ b Picwin je pense lol jsuis meme pas sur du nom :s [ par Panther007 ] Salut :) Bon je vous dit en quoi j'aimerais me faire aider , j'aimerais me fabriquer un jeu de Ping pong mais avant il faut que je sache comment utili Au secours lol [ par Croze ] Crozesalut J'aimerais savoir c koi la variable(je c meme pas si c ca faut dire) pour kune fenetre (@window) nous montre tout la la jai juste un scroll probleme de hashtables [ par kishkaya ] ben j'ai cherché dans l'aide mais j'ai pas trouvéje crés un systeme de log de membres avec une hashtablej'ai deux problemes : if ($hget(log) != lo remerciement lol :) [ par NaZbRoK91 ] ba un ti merci a ce site pour mavoir fait decouvrir le scripting jai appri grace a vousbon j ai pa tou appri mais j en sais pas mal donc voila merci ^ encore help me svp lol [ par clem54 ] donc voila, je cherche un code qui met lorsque l'on s'inscrit a un jeu : !inscrire Tu es inscrit ds ma base !et !inscrire Tu es deja inscrit rhoooodo help me pas urgent lol [ par clem54 ] donc voila toujours dans un dialog je fais un menu principal et je voudrai que lorsque l'on klik sur un icon qui a une representant sa fonction ben ca no such nick/channel.. [ par AwayZ ] Pouvez vous me dire pk des fois dans des codes que j'ai ya des problemes comme ceux ci ?: [15:55:27] -> *lol:* blabla - lol: No such nick/channel


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.