Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Carloswaldo en 2 Marzo 2009, 19:16 pm



Título: Detectar un caracter de control en una condición
Publicado por: Carloswaldo en 2 Marzo 2009, 19:16 pm
Ando medio perdido en esta parte, estoy haciendo un cliente irc en VB y me he topado con el problema de que alguien escriba texto en color. Sé que el formato es un caracter de control (^C) más el numero del color de texto, una coma, y el numero del color de fondo. El problema es que no se como hacer la condición para detectar el carácter de control usando InStr o un Replace.

Más info sobre los caracteres de control: http://es.wikipedia.org/wiki/Car%C3%A1cter_de_control

Sólo tengo este pedazo de código que no me funciona:

Código
  1. If InStr(Texto, "") > 0 Then
  2.    Texto = Replace(Texto, "", "")
  3. End If


Título: Re: Detectar un caracter de control en una condición
Publicado por: Novlucker en 2 Marzo 2009, 19:50 pm
Se ve que estoy lento  :xD
Tienes que filtrar caracteres no alfa-numéricos no?

Y si en lugar de colocar el caracter colocas el valor decimal/ascii?
Ej: Chr(26)

Saludos


Título: Re: Detectar un caracter de control en una condición
Publicado por: Carloswaldo en 2 Marzo 2009, 20:02 pm
En eso estaba pensando pero no se cúal es el valor ascii del ^C (no creo que sea Chr(3) o si?)


Título: Re: Detectar un caracter de control en una condición
Publicado por: Karcrack en 2 Marzo 2009, 20:19 pm
En eso estaba pensando pero no se cúal es el valor ascii del ^C (no creo que sea Chr(3) o si?)
Código
  1. Cierto? =(Asc("") = 3)

Mira a ver que devuelve :xD :xD


Título: Re: Detectar un caracter de control en una condición
Publicado por: Carloswaldo en 2 Marzo 2009, 20:21 pm
Código
  1. If InStr(Texto, Chr(3)) > 0 Then
  2.    Texto = Replace(Texto, Chr(3), "")
  3. End If

No funciona.


Título: Re: Detectar un caracter de control en una condición
Publicado por: Karcrack en 2 Marzo 2009, 20:22 pm
Código
  1. If InStr(Texto, Chr(3)) > 0 Then
  2.    Texto = Replace(Texto, Chr(3), "")
  3. End If

No funciona.
Pues deberia.. puedes pegar el texto?

Saludos :-\


Título: Re: Detectar un caracter de control en una condición
Publicado por: Carloswaldo en 2 Marzo 2009, 20:31 pm
Texto es una variable que recoge lo que recibo en el winsock y si es un mensaje al canal pues lo limpio y solo dejo "<nick> mensaje", luego viene ese codigo que pongo. Lo que hago para probar es desde el mirc mandar un texto coloreado, pero en el cliente en vb sigo recibiendo ese caracter, puedo poner el caracter cuantas veces quiera pero el código no se deshace de él:

(http://i41.tinypic.com/zmxvrp.jpg)


Título: Re: Detectar un caracter de control en una condición
Publicado por: Carloswaldo en 2 Marzo 2009, 20:42 pm
Jaja, ya lo logré, el código está bien, solo estaba mal hubicado.


Título: Re: Detectar un caracter de control en una condición
Publicado por: Dessa en 2 Marzo 2009, 21:10 pm
Las rayas que te salen en negrita son lineas

Texto = Replace(Texto, Chr(10), "")
o
Texto = Replace(Texto, Chr(10), vbNewLine)

Saludos


Título: Re: Detectar un caracter de control en una condición
Publicado por: Carloswaldo en 2 Marzo 2009, 21:18 pm
No, no son lineas, era el chr(3).


Título: Re: Detectar un caracter de control en una condición
Publicado por: seba123neo en 2 Marzo 2009, 21:38 pm
si yo tambien pensaba que eran saltos de linea, pero a veces los caracteres no reconocidos los pone asi tambien y se confunde uno...


Título: Re: Detectar un caracter de control en una condición
Publicado por: Dessa en 2 Marzo 2009, 22:09 pm
Mirando mas en detalle los saltos de linea son un poco mas cortos y quedan mas abajo del nivel inferior de los otros caracteres

(http://img17.imageshack.us/img17/5404/dibujon.gif)


Título: Re: Detectar un caracter de control en una condición
Publicado por: cassiani en 3 Marzo 2009, 02:39 am
(http://i41.tinypic.com/zmxvrp.jpg)

oye, como ha cambiado la cara eso Carlos xD


Título: Re: Detectar un caracter de control en una condición
Publicado por: Carloswaldo en 3 Marzo 2009, 03:20 am
Seee, le he agregado varias cosas, si quieres te paso el code cuando estes online. :P Lo de abajo son mas controles para Debug.