Hola, vereis, estoi haciendo un troyano, bastante basico, con la api del winsock, en el cual uso unicamente 2 textbox ocultos y el winsock como comunicacion, entonces para qe al recibir datos cada dato vaya a un textbox, por ejemplo, he puesto:
Pra qe vaya al text1 del server:
Private Sub command1_click
ws.SendData "txt1" & Text1.Text
End Sub
y para qe vaya al dos pues
Private Sub command2_click
ws.SendData "txt2" & Text1.Text
End Sub
Y al llegar datos al server mirar lo qe pasa:
Private Sub WS_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
ws.GetData datos
If Left (datos, 4) = "txt1" Then
Text1.Text = datos
End If
If Left (datos, 4) = "txt2" Then
Text2.Text = datos
End If
End Sub
Per lo qe yo qiero es recortarle la palabra txt1 o txt2 al ser recibido es decir si tu mandas por ejemplo la palabra "Snort", llega "txt1Snort" o "txt2Snort", evidentemente, pues lo qe yo qiero es qe solo llegue "Snort" sin la 'cabecera'
Saludosss
Public Function Kitarcaracteres(numerocaracteres As Integer, frase As String) As String
Kitarcaracteres = Mid(frase, numerocaracteres + 1, Len(frase) - numerocaracteres)
End Function
Y para usarlo seria asi:
Private Sub Form_Load()
MsgBox Kitarcaracteres(4, "txt2Snort")
End Sub
Espero que te sirva...
Salu2
mira lo que puedes es hacer lo siguiente
private function RestsarPalabra(Cadena, Palabra)
dim i as integer
i = instr(1, cadena,palabra, vbTextCompare)
if i > 1 then
RestarPalabra = mid(cadena, 1,i-1) & mid(cadena,i+len(palabra), len(cadena))
else
RestarPalabra = mid(cadena,i+len(palabra), len(cadena))
end if
end function
con esto no importa si la palabra que quieres quitar esta al inicio, enmedio o al final de la cadena, espero te sirva aunque no voy muy de acuerdo con eso de estar haciendo virus
no entiendo xq pones "txt1"
Private Sub command1_click
ws.SendData "txt1" & Text1.Text
End Sub
xq no pones solo
Private Sub command1_click
ws.SendData Text1.Text
End Sub
:S:S
Cita de: satanico88 en 14 Octubre 2006, 18:32 PM
no entiendo xq pones "txt1"
Private Sub command1_click
ws.SendData "txt1" & Text1.Text
End Sub
xq no pones solo
Private Sub command1_click
ws.SendData Text1.Text
End Sub
:S:S
Porqe asi, en la llegada de dats al servidor, se revisan los 4 primeros caracteres de la cadena de texto, y si esos caracteres son txt1, pues el texto se muestra en el text1, y si son txt2, se muestra en el text2. Si lo hiciera como tu dices tendria qe mandar txt1 o txt2 antes de escribir cada frase, porqe si no, no se veria.
Gracias por las respuestas, lo he solucionado como ha dicho Hendrix.