Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: Relapse en 7 Noviembre 2009, 21:51 PM

Título: Data Arrival
Publicado por: Relapse en 7 Noviembre 2009, 21:51 PM
  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?

Título: Re: Data Arrival
Publicado por: cassiani en 7 Noviembre 2009, 21:58 PM
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.
Título: Re: Data Arrival
Publicado por: Relapse en 7 Noviembre 2009, 22:06 PM
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'
Título: Re: Data Arrival
Publicado por: seba123neo en 7 Noviembre 2009, 22:09 PM
Código (vb) [Seleccionar]
Dim a as Boolean
a = iif(Instr(info,"/")<> 0,True,False)
Título: Re: Data Arrival
Publicado por: Relapse en 7 Noviembre 2009, 22:15 PM
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..   >:(
Título: Re: Data Arrival
Publicado por: cassiani en 7 Noviembre 2009, 22:17 PM
baahh una simple condición

Código (vb) [Seleccionar]
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
Título: Re: Data Arrival
Publicado por: Relapse en 7 Noviembre 2009, 22:18 PM
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
Título: Re: Data Arrival
Publicado por: cassiani en 7 Noviembre 2009, 22:19 PM
devuelve 0 si no la encuentra  :-X
Título: Re: Data Arrival
Publicado por: Relapse en 7 Noviembre 2009, 22:20 PM
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:

Título: Re: Data Arrival
Publicado por: cassiani 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!
Título: Re: Data Arrival
Publicado por: seba123neo en 7 Noviembre 2009, 22:24 PM
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.
Título: Re: Data Arrival
Publicado por: Relapse en 7 Noviembre 2009, 22:25 PM
que tonto! tanto lio por un error tan bobo como confundir las comillas.. muchas graicas por la ayuda
Título: Re: Data Arrival
Publicado por: Relapse en 7 Noviembre 2009, 22:47 PM
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