Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionDim data() As String 'Ma variable qui va contenir la donnée reçue sckServ(Index).GetData data(index)
data = Mid(data, 4) txtConvers.Text = txtConvers.Text & data & vbCrLf 'txtConvers contient la conversation des clients For i = 0 To lstIPClients.ListCount - 1 'lstIPClients contient des infos sur les clients connectés lstIPClients.Selected(i) = True sckServ(Split(lstIPClients.Text, ";")(0)).SendData "SMS" & Data & Chr(0) DoEvents 'Sans le DoEvents ici, ça n'envoie pas le message à tout le monde Next i txtConvers.SelStart = Len(txtConvers.Text)
Dim data() As String 'Ma variable qui va contenir la donnée reçueTrès bien. Il suffira de redimensionner ce tableau à chaque fois que tu crées aussi un nouveau Winsock lors de la connexion d'un client.
sckServ(Index).GetData data(index)Si tu lis les données et que tu les stockes directement dans ta variable indexée, tu vas écraser le précédent contenu de cette variable. C'est justement ce qu'on veut éviter en ayant gardé sous le coude des données qui n'ont pas pu encore être traitées car incomplètes.
Dim sTemp As String sckServ(Index).GetData sTemp, vbString, bytesTotal ' syntaxe complète, tant qu'à bien faire data(index) = data(index) & sTempNB : Data était un mot clé du langage (QBasic) --> Essaye de trouver un nom plus perso pour éviter d'éventuels problèmes.
Dim Data() As Stringil faudra, à un moment donné, lui fournir la dimension du tableau.
For i = 0 To lstClients.ListCount -1 'Pour ne pas envoyer à des index non connectés lstClients.Selected(i) = True sckServ(lstClients.Text).SendData "donnée" DoEvents Next i
For i = 0 To lstClients.ListCount -1 sckServ(lstClients.List(i)).SendData "donnée" DoEvents Next i
lstClients.Selected(i) = Truepuis, je lis le texte sélectionné de la Listbox (qui contient donc l'index d'un client connecté).
Public Type typeMesParametres sPseudo As String WinsockIndex As Integer dteHeureConnexion As Date ' exemple End TypeDimensionnement :
Public MesParametres() As typeMesParametresUtilisation :
MesParametres(1).sPeudo = "Toto" MesParametres(1).WinsockIndex = 3