Add item je comprend pas

Signaler
Messages postés
24
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2007
-
Messages postés
24
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2007
-
Bonjour à toutes et à tous,
voilà j'ai un chat en deux parties, client et serveur.
Mon but est simple. Je veux une liste des gens qui sont connectés à mon serveur, liste qui change si une nouvelle personne se connecte ou se deconnecte. Je pense arriver à envoyer avec un datasend le contenu de mon pseudo.

Le problème se corse au niveau du dataarrival.

If Left(strData, 7) = "pseudo:" Then                                ' contrôle si les 8 premières lettres correspondent à "pseudo:"
   Listpseudos.AddItem Right(strData, Len(strData) - 7)                      'censé ajouter le pseudo à la liste

Bien sûr quelque chose m'échappe mais je n'arrive pas à me rendre compte de quoi il s'agit. Mon "listpseudos" est une listbox. Je me doute également qu'il doit manquer un index.
Je sais que j'ai beaucoup de travail mais je dois présenter mon tp chat à l'oral dans quelques semaines. . .

Merci d'avance à tous les citoyens de CodeS-Sources. Niko.

7 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
Non, pas obligé de spécifier d'index.
Il manque juste le principal : Quel est le résultat actuel ?
Qu'est-ce qui, d'après toi, ne fonctionne pas ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
PS : Tu nous repréciseras aussi si c'est vraiment du VB.Net
Messages postés
24
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2007

Désolé, il est vrai que je suis sur VB6 Pro (C'est la version de mon lycée) mais je pensais que la manière de coder était la même ?

Le résultat ? aucun. Ma liste reste entièrement vide du début à la fin :-(
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
Salut,

Le problème doit se situer sur le strData
Vérifie qu'il contient les bonnes données et que Right(strData, Len(strData) - 7) contient bien le pseudo





__________
 Kenji
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Re
T'es-tu assuré de ce qu'il y a dans StrData ?
Pour le vérifier, place ton curseur sur la ligne de ton IF puis presse F9. La ligne change de couleur et le programme s'y arrêtera au prochain passage (comme ça, déjà, tu sauras si tu y passes !)
Lance ton programme. Une fois stoppé sur ta ligne, il te suffit de survoler la variable StrData avec la souris pour qu'il t'affiche son contenu.
Si ce contenu est trop long, vas dans la fenêtre de debug (Ctrl-G) et tape :
? StrData
Tu verras si ce que tu reçois est correct.
Pour continuer, soit F8 pour n'avancer que d'une seule ligne de programme, soit F5 pour continuer normalement.

Bien sûr, une seule ligne de programme ne suffit pas à diagnostiquer un problème, mais je vois mal copier tout ton code ici.
Je te conseille donc de charger quelques sources de CHAT dispo sur vbfrance (ce n'est pas ça qui manque) et de regarder comment les autres ont fait.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on
Messages postés
24
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2007

Oui j'ai déjà vu les sources des autres, mais en général ils n'utilisent qu'un seul executable pour le serveur et le client donc ça me mélange un peu. Je vous remercie de votre aide.

En effet, mon StrData est vide...mais pourquoi ?
Dans mon formload, j'ai mis: Donneespseudo = "pseudo:" & Pseudo (Pseudo contenant mon pseudo)
Ensuite, dans CmdConnexion_Click() (le bouton de connexion) j'ai mis:

Wserveur.SendData (Donneespseudo)  // Wserveur est bien sûr mon contrôle winsock

(Wserveur pas Wclient car j'essaye pour l'instant de mettre le pseudo du serveur, ça sera déjà une bonne chose et me permet de mieux comprendre pas a pas)
Messages postés
24
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2007

J'ai réussi à ce que mon senddata envoie bien le pseudo sous la forme "pseudo:xxxxx". J'ai également mis dans le dataarrival:
 If Left(strData, 7) = "pseudo:" Then                                 ' contrôle si les 8 premières lettres correspondent à "pseudo:"
   Listpseudos.AddItem Right(strData, Len(strData) - 7)

Que me faut-il mettre maintenant ? Car ma listbox reste vide ?