elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 08:31  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderador: [D4N93R])
| | | |-+  problema con richtextbox
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con richtextbox  (Leído 1,646 veces)
CH4ØZ

Desconectado Desconectado

Mensajes: 105



Ver Perfil
problema con richtextbox
« en: 21 Enero 2011, 22:18 »

bueno mi problema es que estoy tratando de realizar un highlight de determinadas palabras en el richtextbox.
el codigo q cree, funciona, pero solo a medias. dado que por ejemplo si yo tengo q la palabra "#define" debe salir azul, al escribirla, sale azul, pero si yo borro "#" sigue azul. alguna idea de como podria resolver eso? y tambien q titila mientras escribo

aca dejo el codigo:

Código
    Public Sub HighLightText(ByVal Text As RichTextBox)
       Dim oPos As Integer = Text.SelectionStart
       If oPos > 0 Then
           Dim Line As Integer = Text.GetLineFromCharIndex(Text.GetCharIndexFromPosition(Cursor.Position))
           Dim pIni As Integer, pEnd As Integer, pos As Integer, word As String
           pIni = Text.GetFirstCharIndexFromLine(Line)
           pEnd = Text.Lines(Line).Length
           For Each i As String In Words.Keys
               pos = Text.Text.IndexOf(i, pIni, pEnd)
               If ((Char.IsLetter(Chr(pos + 1)) Or Char.IsNumber(Chr(pos + 1))) And Words(i) <> Color.Blue) Or Not Char.IsLetter(Chr(pos + 1)) Then
                   If pos = 0 Then
                       word = i & " "
                   Else
                       word = i
                   End If
                   pos = Text.Text.IndexOf(word, pIni, pEnd)
                   If pos <> -1 Then
                       With Text
                           .SelectionStart = pos
                           .SelectionLength = i.Length
                           If .SelectionColor <> Words(i) Then .SelectionColor = Words(i)
                       End With
                   End If
               End If
           Next
       End If
       Text.SelectionStart = oPos
   End Sub
 

Nota: la funcion es llamada en el callback TextChanged


« Última modificación: 23 Enero 2011, 20:55 por CH4ØZ » En línea

no me juzguen si no me conocen
Sancho.Mazorka


Desconectado Desconectado

Mensajes: 480


Gamer & Programador


Ver Perfil WWW
Re: problema con richtextbox
« Respuesta #1 en: 23 Enero 2011, 09:05 »

Titila cuando escribes, porque tu codigo esta pintando todo el tiempo el texto, deberias crear una funcion que solo pinte cuando encuentre una palabra y si ya esta pintada que no la vuelva a pintar.
Con respecto a tu problema de que sigue pintado al borrar, podrias verificar el color de las palabras que estan cercanas al momento de borrar, sino empiezan con un # le sacas el azul.

Saludos, Sancho.Mazorka    :¬¬


En línea

Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html


CH4ØZ

Desconectado Desconectado

Mensajes: 105



Ver Perfil
Re: problema con richtextbox
« Respuesta #2 en: 23 Enero 2011, 20:20 »

el problema sobre el pintado es q no todas las palabras empiezan con # (N)
En línea

no me juzguen si no me conocen
Sancho.Mazorka


Desconectado Desconectado

Mensajes: 480


Gamer & Programador


Ver Perfil WWW
Re: problema con richtextbox
« Respuesta #3 en: 23 Enero 2011, 20:22 »

Y bueno, ya que tu soft esta todo el tiempo pintando, pone que reconozca cuando borras, y si hay palabras de color, que verifique si es una palabra clave. Es lo mas simple que se me ocurre.
De que se trata tu proyecto?

Saludos, Sancho.Mazorka    :¬¬
En línea

Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html


CH4ØZ

Desconectado Desconectado

Mensajes: 105



Ver Perfil
Re: problema con richtextbox
« Respuesta #4 en: 23 Enero 2011, 20:54 »

estoy tratando de crear un editor de pawn (lenguaje para programacion de scripts generalmente de juegos mp como sa-mp cs u otros). resolvi el titileo pero no lo del codigo en color cuando borro.

edit: como puedo saber el color de las palabras si no son parte de la lista q yo tengo usando este metodo?
« Última modificación: 24 Enero 2011, 01:26 por CH4ØZ » En línea

no me juzguen si no me conocen
seba123neo


Desconectado Desconectado

Mensajes: 3.214



Ver Perfil WWW
Re: problema con richtextbox
« Respuesta #5 en: 24 Enero 2011, 02:34 »

Hola, busca en internet codigos de ejemplos de Syntax highlight tenes miles donde poder ingresar en una lista las palabras reservadas y el color que queres a cada una...

saludos.
En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
CH4ØZ

Desconectado Desconectado

Mensajes: 105



Ver Perfil
Re: problema con richtextbox
« Respuesta #6 en: 24 Enero 2011, 03:48 »

seba busque varios pero con ninguno puedo lograr lo que quiero completamente, este codigo fue el resultado de varios adaptado.

el problema es q la syntaxis puede ser:
Código:
if ( var1 != var1 ){
o
Código:
if(var1!=var1){
y no me sale, x eso acudi a ustedes
En línea

no me juzguen si no me conocen
CH4ØZ

Desconectado Desconectado

Mensajes: 105



Ver Perfil
Re: problema con richtextbox
« Respuesta #7 en: 28 Enero 2011, 03:30 »

perdon x el doble post pero segui buscando segui intentando y no encuentro la forma (N) de resaltar la sintaxis sin ningun bug. debido a q no puedo separar las palabras x " ". alguien me puede dar alguna solucion o ayudarme a encontrar una?
gracias.
En línea

no me juzguen si no me conocen
Sancho.Mazorka


Desconectado Desconectado

Mensajes: 480


Gamer & Programador


Ver Perfil WWW
Re: problema con richtextbox
« Respuesta #8 en: 28 Enero 2011, 03:43 »

Como dijo Seba, busca Syntax Highlighter en Google, o proba buscando en recursosvisualbasic.net


Saludos, Sancho.Mazorka    :¬¬
En línea

Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html


CH4ØZ

Desconectado Desconectado

Mensajes: 105



Ver Perfil
Re: problema con richtextbox
« Respuesta #9 en: 28 Enero 2011, 04:21 »

Como dijo Seba, busca Syntax Highlighter en Google, o proba buscando en recursosvisualbasic.net


Saludos, Sancho.Mazorka    :¬¬

ya busque y ninguno me sirvio ademas de q intente editar varios y tmp funcionaron como necesito. x eso vine a pedir ayuda aca.
En línea

no me juzguen si no me conocen
CH4ØZ

Desconectado Desconectado

Mensajes: 105



Ver Perfil
Re: problema con richtextbox
« Respuesta #10 en: 1 Febrero 2011, 21:41 »

despues de varios intentos, casi logro lo que queria. la funcion hace lo que quiero, pero solo tengo un problema. supongamos q colorea una palabra del listado de su color, hasta ahi todo perfecto, pero cuando yo empiezo a borrarla, el color sigue = intente cambiar el color antes, pero queda negro. alguna forma de comparar el color de un texto? xq no puedo usar split, para separar la cadena x partes y chequear el color de cada una y no se me ocurrio alguna forma de poder comparar el color en un string asi x ej:
Código:
if(variable= 1 ){
En línea

no me juzguen si no me conocen
Sancho.Mazorka


Desconectado Desconectado

Mensajes: 480


Gamer & Programador


Ver Perfil WWW
Re: problema con richtextbox
« Respuesta #11 en: 1 Febrero 2011, 21:44 »

Richtextbox1.SelColor ?


Saludos Sancho.Mazorka!    :¬¬
En línea

Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html


CH4ØZ

Desconectado Desconectado

Mensajes: 105



Ver Perfil
Re: problema con richtextbox
« Respuesta #12 en: 1 Febrero 2011, 22:02 »

¬¬
si se la parte de obtener el color, pero como se q seleccionar? ese es mi problema, como seleccionar el texto q no este dentro de la lista de palabras.
En línea

no me juzguen si no me conocen
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
RichTextBox.... problema con imagenes... es coplejo, mejor leeme completo..¿ok?
Programación Visual Basic
SERBice 2 914 Último mensaje 2 Octubre 2005, 10:01
por SERBice
Richtextbox
Programación Visual Basic
likeu 2 500 Último mensaje 4 Octubre 2006, 04:55
por Mr.Chispa
Problema al imprimir contenido de un RichTextBox
.NET
Zzombi 1 1,583 Último mensaje 10 Agosto 2009, 14:52
por ¨°o.O (ßa¢Kg|å§§) O.o°
RichTextBox
Programación Visual Basic
rembolso 11 1,807 Último mensaje 16 Octubre 2009, 04:43
por BlackZeroX (Astaroth)
Richtextbox en C# y VB.NET
.NET
jgzunigah 2 4,775 Último mensaje 24 Febrero 2010, 13:30
por raul338
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines