Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: rembolso en 15 Octubre 2009, 22:40 pm



Título: RichTextBox
Publicado por: rembolso en 15 Octubre 2009, 22:40 pm
hola . estoy travajando sobre un RichTextBox pero tengo problemas al leer unos caracteres del mismo texo . quirero q lea los caracteres y lo q esta adentro lo ponga el color asignado y deje el texto  igual pero q cambie eso nada mas .
ejemplo
rojo = [["ak iria el texto q se pone color rojo"]]
verde = {{ "ak iria el texto q se pone color verde" }}

use el split pero el split me lee el texto de adelante y lo otro se borra
me podria echar una ayudita


Título: Re: RichTextBox
Publicado por: Karcrack en 15 Octubre 2009, 22:46 pm
Código:
http://www.recursosvisualbasic.com.ar/htm/tutoriales/richtextbox.htm


Título: Re: RichTextBox
Publicado por: rembolso en 15 Octubre 2009, 22:59 pm
si . ese lo vi hace un rato esta bueno pero lo q yo busco es como leer ciertos caracteres

y q el codigo busque en el texto la cierta frase y que esa frase se remplaze por un color

como por ejemplo  este codigo de esta misma web " [color =red ] esta parte del texto se remplaza por el color rojo [ /color ] " quedando asi  esta parte del texto se remplaza por el color rojo
ese busqo yo


Título: Re: RichTextBox
Publicado por: BlackZeroX en 15 Octubre 2009, 23:10 pm

Código
  1. SelStart = posicioninicial
  2. SelLength = longitud
  3. SelColor = color
  4.  


Título: Re: RichTextBox
Publicado por: rembolso en 15 Octubre 2009, 23:19 pm
 pero  la idea es buscar [[ ]] lo del medio no ,


"[[ esto es un texto ak  termina ]]

me quedo

    Dim Pos As Integer
    Dim PalabraClave As String
    PalabraClave = "[["

             RichTextBox.SelStart = Pos - 1
                RichTextBox.SelLength = Len(PalabraClave)
                RichTextBox.SetFocus
                RichTextBox1.SelColor = vbRed

pero busca esto directamente [[ y yo quero q busque  "[[ ]]"  y me  selecione el texto  q se encuentra en el medio de  los corchetes  y les cambie el color nada mas


Título: Re: RichTextBox
Publicado por: BlackZeroX en 15 Octubre 2009, 23:30 pm
Replace()

Lee un Tutorial Basico de Basic6


Título: Re: RichTextBox
Publicado por: rembolso en 15 Octubre 2009, 23:35 pm
 pero  la idea es buscar [[ ]] lo del medio no ,


"[[ esto es un texto ak  termina ]]

me quedo

    Dim Pos As Integer
    Dim PalabraClave As String
    PalabraClave = "[["

             RichTextBox.SelStart = Pos - 1
                RichTextBox.SelLength = Len(PalabraClave)
                RichTextBox.SetFocus
                RichTextBox1.SelColor = vbRed

pero busca esto directamente [[ y yo quero q busque  "[[ ]]"  y me  selecione el texto  q se encuentra en el medio de  los corchetes  y les cambie el color nada mas


Título: Re: RichTextBox
Publicado por: BlackZeroX en 15 Octubre 2009, 23:45 pm
Busca las posiciones de ambos limitadores, guardalos has las operaciones para calcular el tramo sin los limitadores iniciales, despues reemplaza los limitadores si asi es tu proceso y por ultimo ilumina dicho texto entre las pociones del inicio y fin del texto definido por las posiciones ya guardadas.

Puedes usar InStr(), Replace().


Título: Re: RichTextBox
Publicado por: rembolso en 15 Octubre 2009, 23:48 pm
me podrias dar un ejemplo o hacerme esa parte del code , porq no  entiendo :-[


Título: Re: RichTextBox
Publicado por: BlackZeroX en 15 Octubre 2009, 23:51 pm
me podrias dar un ejemplo o hacerme esa parte del code , porq no  entiendo :-[

Código
  1. Dim pos1 As Long, pos2 As Long
  2. Const datos = "Miguel {Angel Ortega} Avila"
  3. pos1 = InStr(datos, "{") + 1
  4. pos2 = InStr(datos, "}")
  5. MsgBox Mid(datos, pos1, pos2 - pos1)
  6.  

Dulces Lunas


Título: Re: RichTextBox
Publicado por: rembolso en 16 Octubre 2009, 00:08 am
gracias . eso es loq buscava


Título: Re: RichTextBox
Publicado por: BlackZeroX en 16 Octubre 2009, 04:43 am
Por el MP que me mandaste veo que estas mas despistado que nada, aquí tienes

Código
  1. Private Sub Command1_Click()
  2.    Dim Pos1 As String
  3.    Dim Pos2 As String
  4.    Const IniPos As Integer = 1
  5.    Pos1 = InStr(IniPos, RichTextBox1.Text, "{", vbTextCompare)
  6.    Pos2 = InStr(Pos1, RichTextBox1.Text, "}", vbTextCompare) - 1
  7.    '   // Sin Reemplazar los caracteres
  8.    RichTextBox1.SelStart = Pos1
  9.    RichTextBox1.SelLength = Pos2 - Pos1
  10.    RichTextBox1.SelColor = vbRed
  11. End Sub
  12.  

Dulces Lunas