LoUsKy
Messages postés16Date d'inscriptionmardi 23 juillet 2002StatutMembreDernière intervention22 août 2002
-
22 août 2002 à 14:23
JeffLC
Messages postés73Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention20 février 2003
-
28 août 2002 à 11:02
Voila , g une variable ki contienttext "irc.server.com 353 pseudo #chan :pseudo1 pseudo2 pseudo3"
comment faire pour ke
text(0) = "pseudo1"
text(1) = "pseudo2"
text(2) = "pseudo3"
j'ai entendu parler d'un fonction spli() mais sans plus , quelqu'un pourait m'explike ?
merci.
LoUsKy
La racaille on the sky
cs_processus
Messages postés360Date d'inscriptionvendredi 24 août 2001StatutMembreDernière intervention 9 juillet 20083 22 août 2002 à 15:41
Ds ton cas:
Dim varTbl as variant
vartbl= split(text, space(1))
' Résultats
' vartbl(5) = ":pseudo1"
' vartbl(6) = "pseudo2"' vartbl(7) "pseudo3" Site Web de JDPROG
Présentation de MP3 Index
Logiciel d'indexation de fichier MP3
JeffLC
Messages postés73Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention20 février 2003 22 août 2002 à 17:06
si tu utilises
vartbl= split(text, space(1))
alors le nombre de personnes connectés est égal à Ubound(vartbl)-4 car les cinq premiers éléments du tableau sont irc.server.com, 353, pseudo, = et #chan et que ce tableau démarre à zéro.
zefri
Messages postés33Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention11 décembre 2002 24 août 2002 à 16:22
-------------------------------
Réponse au message :
-------------------------------
si tu utilises
vartbl= split(text, space(1))
alors le nombre de personnes connectés est égal à Ubound(vartbl)-4 car les cinq premiers éléments du tableau sont irc.server.com, 353, pseudo, = et #chan et que ce tableau démarre à zéro.
-------------------------------
Réponse au message :
-------------------------------
Comment faire kan on ne conne pas le nombre de personne connecter ?
LoUsKy
La racaille on the sky
-------------------------------
Réponse au message :
-------------------------------
Ds ton cas:
Dim varTbl as variant
vartbl=split(text, space(1))
' Résultats
' vartbl(5) = ":pseudo1"
' vartbl(6) = "pseudo2"' vartbl(7) "pseudo3" Site Web de JDPROG
Présentation de MP3 Index
Logiciel d'indexation de fichier MP3
-------------------------------
Réponse au message :
-------------------------------
Voila , g une variable ki contienttext "irc.server.com 353 pseudo #chan :pseudo1 pseudo2 pseudo3"
comment faire pour ke
text(0) = "pseudo1"
text(1) = "pseudo2"
text(2) = "pseudo3"
j'ai entendu parler d'un fonction spli() mais sans plus , quelqu'un pourait m'explike ?
merci.
LoUsKy
La racaille on the sky
Vous n’avez pas trouvé la réponse que vous recherchez ?
JeffLC
Messages postés73Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention20 février 2003 26 août 2002 à 11:08
Split renvoie un tableau contenant toutes les sous-chaine d'une chaines relativement à un séparateur.
Donc tu bloucles sur un tableau pour remplir un tableau identique.
Si tu avais fais
Dim vItem as Variant
Dim i as integer
i= 0
For each vItem in Split(text, space(1))
i = i + 1
if i>5 then
text(i-5) = vItem
end if
Next
Là tu aurais remplis un tableau avec uniquement les pseudos. Mais en l'état ta boucle n'a pas d'utilité.
Par contre tu utilise une énumération For Each pour boucler sur un tableau et non pas une boucle Fro avec un compteur ce qui se révèle plus rapide à l'éxecution.
Tchao.
zefri
Messages postés33Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention11 décembre 2002 27 août 2002 à 23:47
Hello !
Je maintiens que
Dim i as integer, vItem as variant, text as string
Dim a_text() as string
text "irc.server.com 353 pseudo #chan :pseudo1 pseudo2 pseudo3"
For each vItem in Split( Mid(Substr(my_text, ":")), my_separator)
a_text(i) = vItem
i = i + 1
Next
permet de remplir le tableau a_text() avec les pseudos contenus dans la chaine text.
Effectivement on aurait aussi vite fait d'écrire
a_text = Split( Mid(Substr(text, ":")), " ")
toujours avec text "irc.server.com 353 pseudo #chan :pseudo1 pseudo2 pseudo3"
Pour l'usage de For each tu as tout à fait raison c'est réputé plus long quand il s'agit de parcourir un tableau, moi personnellement je trouve juste ça plus cleen question syntaxe. Plus le code est propre, plus il est facile à comprendre, tant qu'on est pas à la chasse aux millisecondes moi je me dis que c'est pas la peine de compliquer la vie du programmeur qui passera après moi pour débuger ;p)
JeffLC
Messages postés73Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention20 février 2003 28 août 2002 à 11:02
D'accord si tu utilise Mid(Substr(my_text, ":")) tu remplis bien le tableau uniquement avec les pseudos. Donc cela ce défend.
Mais
si on fait
Dim i as integer, vItem as variant, text as string
Dim a_text() as string
Dim Pseudos_Text() as string
text "irc.server.com 353 pseudo #chan :pseudo1 pseudo2 pseudo3"
For each vItem in Split( Mid(Substr(text, ":")), my_separator)
a_text(i) = vItem
i = i + 1
Next
A la fin de l'éxécution a_text et Pseudos_Text contiennent les mêmes valeurs. Donc je maintiens que la boucle n'est pas utile ;-P.
Pour ce qui est de ton habitude de faire du code propre je te félicite. Boucler sur un tableau contenant un type de donné simple (Entier, doublle, ...) est en effet plus rapide par un compteur incrémenté, par contre si on boucle sur un tableau contenant des types évolués (définis par l'utilisateur, ou objet) l'énumération For Each se révèle plus rapide car le compilateur sait à quel type il a affaire et peut donc adresser directement sur une partie de mémoire à la bone taille (ce qui accélère l'éxécution et réduit la pile).
Tchao.