Probleme avec une boucle en .Net

cs_leka Messages postés 19 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 17 juin 2004 - 23 déc. 2003 à 11:55
gallyhc Messages postés 386 Date d'inscription samedi 4 octobre 2008 Statut Membre Dernière intervention 19 février 2018 - 23 déc. 2003 à 20:25
Bon, j'ai un probleme, je bosse sur un bot IRC en ce moment, c'est du VB.net. Je m'explque, la fonction MassOp est uen fonction qui permet de mettre Op tous les utilisateurs du channel d'irc. Pour cela, j'envoie une requete au server pour qu'il me donne le nick de chacun des utilisateurs, mais le probleme, c'est que pour que sa marche il faut attendre que le server reponde, du coup, j'ai eu une idée, faire une boucle, qui attende qu'un des mots que le serveur renvoit a chaque (le mot "names").
Mais voila mon probleme, traduit en langue normale, ma boucle donnerait :

"Ne fais rien tant que la position du mot "NAMES" vaut zero dans ce que tu reçois"
Mais sa marche pas, le programme se fout en boucle, et n'en sort pas meme si ma condition est vraie.
Par contre, si a la place de "'On fait rien" je met, une MsgBox, la, le programme sort de ma boucle et il n'y aucun probleme.
En gros mon probleme, c'est comment faire pour que ma boucle marche, sans avoir a mettre de MsgBox.

    Public Sub MassOp()
        Dim monTabAMassOP() As String
        Dim ListeNickChan
        IRCSock.SendData("NAMES " & ChannelName & Chr(10))
        Do Until InStr(Receive, "NAMES") <> 0
            'On fait rien
        Loop
        ListeNickChan = Replace(Receive, "@", "") 'On enleve les @ et + de la liste des nicks de façon a ce que sa soit propre,
        ListeNickChan = Replace(Receive, "+", "") ' et qu'il n'y ai pas d'erreur sur les nicks
        MsgBox(ListeNickChan)
        monTabAMassOP = Split(Receive, " ")
    End Sub

2 réponses

cs_leka Messages postés 19 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 17 juin 2004
23 déc. 2003 à 11:58
Zut, je suis desolé pour les fautes d'ortographe, j'ai oublié de me relire, et je ne peux pas editer mon post.
0
gallyhc Messages postés 386 Date d'inscription samedi 4 octobre 2008 Statut Membre Dernière intervention 19 février 2018 2
23 déc. 2003 à 20:25
Bonjour,

Ta variable Receive est implemente quand? pour le moment elle est toujours vide.

Je penses que tu dois fazir un truc dans ce genre

Do Until InStr(Receive, "NAMES") <> 0
Receive = IRCSock (reçois les donné je sais plus de tête quelle commande)
Loop

A++
[Gally Home Corp]
0
Rejoignez-nous