Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Topic started by: Carloswaldo on 2 March 2009, 19:16 PM

Title: Detectar un caracter de control en una condición
Post by: Carloswaldo on 2 March 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:

Code (vb) Select
If InStr(Texto, "") > 0 Then
    Texto = Replace(Texto, "", "")
End If
Title: Re: Detectar un caracter de control en una condición
Post by: Novlucker on 2 March 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
Title: Re: Detectar un caracter de control en una condición
Post by: Carloswaldo on 2 March 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?)
Title: Re: Detectar un caracter de control en una condición
Post by: Karcrack on 2 March 2009, 20:19 PM
Quote from: Carloswaldo on  2 March 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?)
Code (vb) Select
Cierto? =(Asc("") = 3)

Mira a ver que devuelve :xD :xD
Title: Re: Detectar un caracter de control en una condición
Post by: Carloswaldo on 2 March 2009, 20:21 PM
Code (vb) Select
If InStr(Texto, Chr(3)) > 0 Then
    Texto = Replace(Texto, Chr(3), "")
End If


No funciona.
Title: Re: Detectar un caracter de control en una condición
Post by: Karcrack on 2 March 2009, 20:22 PM
Quote from: Carloswaldo on  2 March 2009, 20:21 PM
Code (vb) Select
If InStr(Texto, Chr(3)) > 0 Then
    Texto = Replace(Texto, Chr(3), "")
End If


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

Saludos :-\
Title: Re: Detectar un caracter de control en una condición
Post by: Carloswaldo on 2 March 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)
Title: Re: Detectar un caracter de control en una condición
Post by: Carloswaldo on 2 March 2009, 20:42 PM
Jaja, ya lo logré, el código está bien, solo estaba mal hubicado.
Title: Re: Detectar un caracter de control en una condición
Post by: Dessa on 2 March 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
Title: Re: Detectar un caracter de control en una condición
Post by: Carloswaldo on 2 March 2009, 21:18 PM
No, no son lineas, era el chr(3).
Title: Re: Detectar un caracter de control en una condición
Post by: seba123neo on 2 March 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...
Title: Re: Detectar un caracter de control en una condición
Post by: Dessa on 2 March 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)
Title: Re: Detectar un caracter de control en una condición
Post by: cassiani on 3 March 2009, 02:39 AM
Quote from: Carloswaldo on  2 March 2009, 20:31 PM
(http://i41.tinypic.com/zmxvrp.jpg)

oye, como ha cambiado la cara eso Carlos xD
Title: Re: Detectar un caracter de control en una condición
Post by: Carloswaldo on 3 March 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.