Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => 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
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 (vb) [Seleccionar]

SelStart = posicioninicial
SelLength = longitud
SelColor = color
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
Cita de: rembolso en 15 Octubre 2009, 23:48 PM
me podrias dar un ejemplo o hacerme esa parte del code , porq no  entiendo :-[

Código (vb) [Seleccionar]

Dim pos1 As Long, pos2 As Long
Const datos = "Miguel {Angel Ortega} Avila"
pos1 = InStr(datos, "{") + 1
pos2 = InStr(datos, "}")
MsgBox Mid(datos, pos1, pos2 - pos1)


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 (vb) [Seleccionar]

Private Sub Command1_Click()
    Dim Pos1 As String
    Dim Pos2 As String
    Const IniPos As Integer = 1
    Pos1 = InStr(IniPos, RichTextBox1.Text, "{", vbTextCompare)
    Pos2 = InStr(Pos1, RichTextBox1.Text, "}", vbTextCompare) - 1
    '   // Sin Reemplazar los caracteres
    RichTextBox1.SelStart = Pos1
    RichTextBox1.SelLength = Pos2 - Pos1
    RichTextBox1.SelColor = vbRed
End Sub


Dulces Lunas