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: LixKeÜ en 15 Julio 2006, 23:26 PM

Título: irc mensajes
Publicado por: LixKeÜ en 15 Julio 2006, 23:26 PM
 La pregunta que les tengo es como hacer para que los mensajes que me llegan los copie en el Text8.text
  Aqui en la imagen les muestro con dos clientes Irc

(http://img215.imageshack.us/img215/7010/ayudaoz7.jpg)
Título: Re: irc mensajes
Publicado por: SheKeL_C$ en 15 Julio 2006, 23:34 PM
No t e entendido muy bien d k kieres pero m ago una idea....

#causal :HOLA JEJEJJEEJ555

Esto es lo q recibes, asi k podrias acer un split al signo d los dos puntos y como lo q seria el hola jejej se meteria en el array en al posicon uno

Otra cosa q podrias acer es un poco mas chapucero y seria q si simpre se recibe lo mismo #causal : mensaje. Pues q leas x la derexa restado las primeras letras.. No se si m entiendes y tmpoco si era esto lo q pedias  :-X
Título: Re: irc mensajes
Publicado por: LixKeÜ en 15 Julio 2006, 23:49 PM
 si siempre se recibe #caudal: Mensajey la idea que me das es buena pero me podrias dar un ejemplo con codigo ;D
Título: Re: irc mensajes
Publicado por: SheKeL_C$ en 15 Julio 2006, 23:54 PM

cadena = "#caudal: Este es el mensaje"

separa = split(cadena,":")
text8 = separa(1)


El unico error q tendrias es q si el mensaje tendria algun :
asi k como dices q siempre s recibira lo d caudal..


cadena = "#caudal: Este es el mensaje"
text8 = right(cadena,len(cadena) - 8)

Título: Re: irc mensajes
Publicado por: LixKeÜ en 16 Julio 2006, 00:22 AM
  Ma espesifico:
  lo que necesito es que un timer vaya leyendo lo que va apareciendo en el text1 (cada 3seg ejemplo) y luego copie solo los mensajes que aparecen despues de #casual: y les ponga en el text8
  esto lo quiero hacer asi para que los mensajes queden mas visibles y entendibles
  Con respecto a tu codigo le entendi pero como ago para que lea del text1.text
(http://img145.imageshack.us/img145/3985/ayuda1bm2.jpg)
Título: Re: irc mensajes
Publicado por: SheKeL_C$ en 16 Julio 2006, 00:35 AM
Tendrias q hacerlo desde la llegada de datos del winsock


....
....'data serian los datos q llegan
If Left(data, 9) = "#causal :" Then Text2.Text = Right(Text1, Len(Text1) - 9)
...
...



Título: Re: irc mensajes
Publicado por: LixKeÜ en 16 Julio 2006, 00:43 AM
asi es como lo tengo pero tampoco funciona
yo pensaria que seria mejor si existe algo que lee permanentemente el Text1.Text y si encuentra un #casual: copie luego lo que este despues de el y lo ponga en el Text8.Text

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Buffer As String
Dim Buff() As String
Winsock1.GetData Buffer
Buff = Split(Buffer, " ")
If Left(Buffer, 9) = "#causal :" Then Text8.Text = Right(Text1, Len(Text1) - 9)
Text1.SelStart = Len(Text1.Text)
Text1.Text = Text1.Text & "Servidor >" & Buffer
Text1.SelStart = Len(Text1.Text)
Winsock1.SendData "PONG :" & Buff(UBound(Buff())) & vbCrLf
End Sub
Título: Re: irc mensajes
Publicado por: elmaro en 16 Julio 2006, 01:03 AM
yo creo que deberias  acer esto

en ves de poner asi:
If Left(Buffer, 9) = "#causal :" Then Text8.Text = Right(Text1, Len(Text1) - 9)


poner asi:
If Left(Buffer, 9) = "#causal :" Then Text8.Text = Right(Buffer, Len(Buffer) - 9)


creo que si copias l contenido del txt1 al txt8 no copiaria solo el nick o kisas no copiaria nada xq no cumple las condiciones,. ya que en el txt1 esta todo lo que recibe el bufer (txt1 = txt1 & buffer)

si me ekivoco aganmelo saber,.




El MaRo!
Título: Re: irc mensajes
Publicado por: LixKeÜ en 16 Julio 2006, 01:13 AM
 lo intente pero nada  ;D ;D
  Despreocupense que voy a poner a andar el motor de mi cabeza y lo saco ;) ;)
Título: Re: irc mensajes
Publicado por: elmaro en 16 Julio 2006, 02:02 AM
mmmm que raro,. bueno fijate bien
suerte



El MaRo!
Título: Re: irc mensajes
Publicado por: -POLACO- en 19 Julio 2006, 18:18 PM
Haber si esto te sirve ,debes colocarlo en el evento change del text1

Private Sub Text1_Change()
Dim VAriable As Integer
If InStrRev(Text1, "#causal :") <> 0 Then
VAriable = InStrRev(Text1, "#causal :") + 9
Text8 = Text8 & Mid(Text1, VAriable)
End If
End Sub


Lo que hace la funcion InstrRev es buscar coincidencias perooo de atras para adelante ,si la encuentra le suma "9" caracteres y te pasa al Text8 solo lo hablado.

Esto es como lo que querias vos de poner un Timer que lea el text1 cada X segundos ,pero leera el text1 cada vez que cambie o sea cuando recibe Data nueva.

NOTA: los dos textos tanto el text1 como el text8 deben esta Multiline=true ,asi te copia los "Enter"="vbCrLf".
Para mi opinion sera mejor sacar los strings desde el DataArrival del Winsock ,como dice el amigo.
Espero te sirva Saludos .-.
Título: Re: irc mensajes
Publicado por: LeandroA en 21 Julio 2006, 01:30 AM
Hola me parece que la forma mas facil y no arroja error si no se encuentra la palabra "#causal :" seria de esta forma

Private Sub Text1_Change()
Text8 = Replace(Text1, "#causal :", "")
End Sub

Saludos
Título: Re: irc mensajes
Publicado por: LixKeÜ en 22 Julio 2006, 16:35 PM
  :-( :-( Ninguna de las dos formas funciono.

Pero aca les dejo un ejemplo mas espesifico de lo querido y bueno espero sus ayuda.
  Yo tambien estoy trabajando en un coder pero hasta el momento no funca bien.

  Aca les dejo:

>>>>http://rapidshare.de/files/26627545/EJEMPLO.rar.html>>>>




Título: Re: irc mensajes
Publicado por: elmaro en 22 Julio 2006, 18:27 PM
pero man... tonces no es que llega primero la cadena #casual

en el code que pusiste aparece esto PRIVMSG #casual :HOLASSS

tonces es ovbio que ningun ejemplo te va a funcionar,.
prueva otra vez cualkiera pero con esa cadena PRIVMSG #casual




El MaRo!


Título: Re: irc mensajes
Publicado por: -POLACO- en 22 Julio 2006, 19:34 PM
Hola ElMaro si te fijas bien mi codigo dice "InstrRev" por mas que la cadena sea "PRIVMSG #casual :" o "#casual :" la tiene que encontrar igual.
Título: Re: irc mensajes
Publicado por: LixKeÜ en 22 Julio 2006, 20:17 PM
 lo malo es que no lo encuentra ;D
Título: Re: irc mensajes
Publicado por: -POLACO- en 22 Julio 2006, 22:52 PM
Aca te envio el codigo pero tu problema esta aca :NO es Text1 lo que vos tenes ,si no que es Text1(1) ,o sea un array de text1.
este codigo lo probe y funciona bien

Private Sub Text1_Change(Index As Integer)
     Dim Identificador As Integer
     Dim Data As String
     Identificador = InStrRev(Text1(1), "#casual :")
     Data = Identificador + 9
     Data = Mid(Text1(1), Data)
     Text8 = Data
End Sub

Espero te sea util : fijate que pongo Text1(1) y NO Text1 ok ?
Cualquier cosa avisa si funca o NO funca ,pero sigo opinando que es mejor agarrar la data desde el Data_Arrival del Winsock.
Trata de usar OptionExplicit te sera util.

"Podemos ser lo mejor y tambien lo peor con la misma facilidad"
Bersuit Vergarabat

Título: Re: irc mensajes
Publicado por: LixKeÜ en 23 Julio 2006, 18:59 PM
  gracias amigo de maravilla lo hice asi

Private Sub Text1_Change()
     Dim Identificador As Integer
     Dim Data As String
     Identificador = InStrRev(Text1, "#casual :")
     Data = Identificador + 9
     Data = Mid(Text1, Data)
     Text8 = Data
End Sub

  con esto ya podre hacer un buen cliente IRC el cual ademas le quiero dar otra utilidad ;D ;D
   No me olvidare de ti amigo y cuando publique mi proxima creasion no me olvidare de Darte los mejores agradesimientos para TIII y a LeandroA otro gran amigo.

  Salu2 LixKeÜ  >>>>>>>>>>>>>>>>>>>>><