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:
If InStr(Texto, "") > 0 Then
Texto = Replace(Texto, "", "")
End If
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
En eso estaba pensando pero no se cúal es el valor ascii del ^C (no creo que sea Chr(3) o si?)
Cita de: 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?)
Cierto? =(Asc("") = 3)
Mira a ver que devuelve :xD :xD
If InStr(Texto, Chr(3)) > 0 Then
Texto = Replace(Texto, Chr(3), "")
End If
No funciona.
Cita de: Carloswaldo en 2 Marzo 2009, 20:21 PM
If InStr(Texto, Chr(3)) > 0 Then
Texto = Replace(Texto, Chr(3), "")
End If
No funciona.
Pues deberia.. puedes pegar el texto?
Saludos :-\
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)
Jaja, ya lo logré, el código está bien, solo estaba mal hubicado.
Las rayas que te salen en negrita son lineas
Texto = Replace(Texto, Chr(10), "")
o
Texto = Replace(Texto, Chr(10), vbNewLine)
Saludos
No, no son lineas, era el chr(3).
si yo tambien pensaba que eran saltos de linea, pero a veces los caracteres no reconocidos los pone asi tambien y se confunde uno...
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)
Cita de: Carloswaldo en 2 Marzo 2009, 20:31 PM
(http://i41.tinypic.com/zmxvrp.jpg)
oye, como ha cambiado la cara eso Carlos xD
Seee, le he agregado varias cosas, si quieres te paso el code cuando estes online. :P Lo de abajo son mas controles para Debug.