Bueno tengo un pequeño problema que no se como resolver. Tengo estas líneas de codigo:
Dim info As String
Winsock1.GetData info
info = Replace(info, "/", vbspace)
RichTextBox1.Text = RichTextBox1.Text & vbNewLine & " Remote User: " & info
Y funciona bien, pero a mi me gustaría que solo haga:
RichTextBox1.Text = RichTextBox1.Text & vbNewLine & " Remote User: " & info
Si el paquete tiene "/", y que si no lo tiene entonces ubique la información en un textbox. O que si tiene por ejemplo "@" lo ubique en el richtextbox2 y asi,, como se pude hacer.. cases?
Usa la función InStr para buscar el caracter dentro de la cadena, lo demás es hacer uso de algunas condiciones o un select case.
he encontrado algo y he pensado algo asi
Dim info As String
Dim isi As String
Winsock1.GetData info
isi = InStr("info", "/")
if isi = "/" then
info = Replace(info, "/", vbspace)
RichTextBox1.Text = RichTextBox1.Text & vbNewLine & " Remote User: " & info
end if
pero el tema, esque el valor que va a tomar isi es el de la posicion en la que esta (numerico), un valor que yo no se. Estaría bueno programarlo con una variable booleana en la que si instr encuentra "/" entonces se pone true y que sino lo encuentra se pone false.. mas ideas porfavor'
Dim a as Boolean
a = iif(Instr(info,"/")<> 0,True,False)
Dim info As String
Dim a As Boolean
a = IIf(InStr(info, "/") <> 0, True, False)
If a = False Then
Winsock1.GetData info
info = Replace(info, "/", vbspace)
RichTextBox1.Text = RichTextBox1.Text & vbNewLine & " Remote User: " & info
ElseIf a = True Then
Text1.Text = info
End If
no logro que el hdp ponga la informacion en text1.. >:(
baahh una simple condición
If InStr(info, "/") Then
no acostumbro a decir esto, pero ya va siendo hora de leerte unos cuantos tutos
*http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-basico5.htm
la funcion instr devuelve un valor numerico es decir la posicion de la palabra .. por eso no es un simple condicional .. bahh.. yo prefiero con byte o booleana
devuelve 0 si no la encuentra :-X
claro.. y e ltema esque no la encuentra por algun motivo.. solo funciona la condicion si el instr = 0... como si no encontrara "/" pero despues si hace el replace de "/".. :huh:
porque no le estas pasando la variable, si no una cadena..
está buscando en "info".. va si las comillas dobles!
Cita de: cΔssiΔni en 7 Noviembre 2009, 22:23 PM
porque no le estas pasando la variable, si no una cadena..
está buscando en "info".. va si las comillas dobles!
:P y eso que yo se lo puse bien, se ve que no se ven bien los post, o no los lee.
que tonto! tanto lio por un error tan bobo como confundir las comillas.. muchas graicas por la ayuda
he encontrado otro problemin:
Winsock1.SendData Text3.Text & "@"
Winsock1.SendData Text1.Text & "/"
en el cliente:
Dim info As String
Winsock1.GetData info
If InStr(info, "/") <> 0 Then
info = Replace(info, "/", vbspace)
RichTextBox1.Text = RichTextBox1.Text & vbNewLine & " Remote User: " & info
Else
Text1.Text = info
End If
pero igualmente:
Remote User: 192.168.1.102@User
la ip no tendria que aparecer, tendria que ir a text1.text :huh:, esto solo pasa cuando las dos lineas de senddata estan juntas.. porque si una esta en otro sub entonces si funciona bien.. probe seteando info = "" despues de cada ubicacion de la informacion pero sigue el error.. y si borro la linea de senddata & "/" entonces si la ubica en text1.. pero si las dos estan juntas se confunde y termina poniendo las dos en un mismo lugar.. incluso si hay un retardo mediante sleep de 5 segundos