hola, no se como exponer mi duda pero estoy haciendo un programa para el msn, una de las funciones es pasar la lista de contactos de computadora a computadora pero no se como mandar una lista por winsock
no creo que haya un fallo en lo demas porque si puedo intercambiar texto
Si podes intercambiar texto entonces es sencillo. Suponiendo que tenes la lista de contactos en un ListBox, creas una cadena con todas los contactos, delimitado por algun caracter, vamos a suponer que es Chr$(1).
Function MakeStrFromList(ListSpec As ListBox) As String
Dim sData$, i%
For i = 0 To ListSpec.ListCount-1
sData = sData & ListSpec.List(i) & Chr$(1)
next
MakeStrFromList = sData
End Function
Luego envias la cadena y cuando llega a destino usas Split para obtener los elementos, y luego los volves a agregar a otra lista.
Sub StrToList(StrSpec As String)
Dim sItems$(), i%
sItems = Split(StrSpec, Chr$(1))
For i = LBound(sItems) To UBound(sItems)
Call lstContactos.AddItem(sItems(i))
Next
End Sub
Es solamente una idea, pero es lo mas sencillo. Tambien se podria crear una estructura de datos con mas informacion, pero esto es solo para ejemplificar.
Saludos.
hola, voi a poner el codigo (para que vean lo nuevo que soy) ;) Private Sub Timer1_Timer()
nick = nicklabel.Caption
If Winsock1.State = sckConnected Then Winsock1.SendData nick
If Winsock1.State = sckConnected Then Winsock1.SendData List1
If Winsock1.State = sckConnected Then Winsock1.SendData List2
If Winsock1.State = sckConnected Then Winsock1.SendData List3
If Winsock1.State = sckConnected Then Winsock1.SendData List4
End Sub
lo unico que se envia y se recepciona correctamente es el packete nick y los demas no.
A ver
En el buen ejemplo que te ha puesto Anhur lo único que tienes que enviar es sData. Para ello él ha usado una función que llena sData con los valores de listSpec.
Luego cuando recibas haces la función StrToList con el valor recibido que contiene todos los valores del list)
Y nada mas.
Y si quieres enviar también el nick puedes meterlo también en sData antes de enviarlo de la siguiente forma
sData=nick & chr(1) & sData
Y cuando recibas sabes que el primer elemento del array es el nick y los demás el list.
Un saludo