Foro de elhacker.net

Programación => 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
Código:
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..
Código:

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

Código:
....
....'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:
Código:
If Left(Buffer, 9) = "#causal :" Then Text8.Text = Right(Text1, Len(Text1) - 9)

poner asi:
Código:
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

Código:
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
Código:
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

Código:
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Ü  >>>>>>>>>>>>>>>>>>>>><