| |||
Reemplazar palabras en richtextbox ¡ Hola compañeros de foro. (disculpas ante todo, soy nueva en el foro ) estoy trabajando una aplicación de escritorio en vb .net 2010 y necesito reemplazar ciertas palabras por otras palabras o datos de una tabla mysql. para luego poder imprimir todo el texto. y además que no se pueda modificar por el usuario el texto contenido en el richtextbox. he encontrado algunos ejemplos parecidos de buscar y reemplazar, en vb 6.0 pero sin resultados. |
| ||||
Respuesta: Reemplazar palabras en richtextbox ¡ Puedes cargar el texto de mysql al richtextbox y luego manipularlo. Para ello simplemente has de jugar con la propiedad Text. Por ejemplo, si quieres cambiar algunas palabras, usa la función Replace sobre la propiedad Text y pasale las palabras a intercambiar :)
__________________ Aviso: No se resuelven dudas por MP! |
| |||
Respuesta: Reemplazar palabras en richtextbox ¡ Gracias por la pronta respuesta. Estoy mirando la función replace, tengo un código que me reemplaza UNA sola palabra y lo que quiero es que al llamar los datos de la DB y mostrarlos en los Textbox me reemplace todas las palabras correspondientes al tiempo. Este es mi código: ' buscar Private Sub BuscarTexto(ByVal RichTextBox As Object, Optional ByVal PosIni As Integer = 0) Dim Pos As Integer Dim PalabraClave As String Dim TipoBusqueda As Long PalabraClave = txtBusca.Text If Len(PalabraClave) Then 'Verificar si Mayusculas y Minusculas esta desactivada If CheckBox1.Checked = 0 Then TipoBusqueda = vbTextCompare Else TipoBusqueda = vbBinaryCompare End If 'Busca desde la PosIni que se indico... Pos = InStr(PosIni + 1, RichTextBox.Text, PalabraClave, TipoBusqueda) If Pos > 0 Then With RichTextBox RichTextBox1.SelectionStart = Pos - 1 RichTextBox1.SelectionLength = Len(PalabraClave) RichTextBox1.Focus() End With Me.Text = "Se encontro la palabra." Else RichTextBox1.Focus() Me.Text = "No se encontro." End If End If End Sub ' reemplazar el texto seleccionado Private Sub RemplazarTexto(ByVal RichTextBox As Object, Optional ByVal PosIni As Integer = 0) Dim Pos As Integer Dim PalabraClave As String 'TipoBusqueda corresponde si se busca Mayus y Minus identicas... Dim TipoBusqueda As Long 'La variable PalabraClave toma el valor de txt_Buscar PalabraClave = txtBusca.Text 'Verificar si PalabraClave no esta vacia If Len(PalabraClave) Then 'Verificar si Mayus y Minus esta desactivada If CheckBox1.Checked = 0 Then TipoBusqueda = vbTextCompare Else TipoBusqueda = vbBinaryCompare End If 'Busca desde la PosIni que se indico.. Pos = InStr(PosIni + 1, RichTextBox.Text, PalabraClave, TipoBusqueda) If Pos > 0 Then 'Si devolvio mayor de 0...se encontro RichTextBox1.SelectionStart = Pos - 1 RichTextBox1.SelectionLength = Len(PalabraClave) RichTextBox1.Focus() 'Eliminamos el contenido del clipboard Clipboard.Clear() Clipboard.SetText(txtRemplz.Text) 'Pega el contenido SendKeys.Send("^(V)") Me.Text = "Se encontro y reemplazo la cadena de texto." Else 'No se encontró RichTextBox1.Focus() Me.Text = "No se encontro." End If End If End Sub Creo que con un While o un For se podria pero no se como va el código. |
| |||
Respuesta: Reemplazar palabras en richtextbox ¡ Malenko... muchas gracias por tu ayuda, me sirvio mucho... ahora Coloco este código (RichTextBox1.SelectionAlignment = HorizontalAlignment.Center) en el load del form para Justificar el texto y funciona bien. Dim Pos As Integer Dim TipoBusqueda As Long Dim PalabraClave(3) As String PalabraClave(0) = txtBusca1.Text.ToString() PalabraClave(1) = txtBusca2.Text.ToString() PalabraClave(2) = txtBusca3.Text.ToString() Dim Reemplaza(3) As String Reemplaza(0) = txtRemplz1.Text.ToString() Reemplaza(1) = txtRemplz2.Text.ToString() Reemplaza(2) = txtRemplz3.Text.ToString() For i As Integer = 0 To PalabraClave.Count - 1 If Len(PalabraClave(i)) Then 'Verificar si Mayusculas y Minusculas esta desactivada If CheckBox1.Checked = 0 Then TipoBusqueda = vbTextCompare Else TipoBusqueda = vbBinaryCompare End If Pos = InStr(PosIni + 1, RichTextBox.Text, PalabraClave(i), TipoBusqueda) If Pos > 0 Then With RichTextBox RichTextBox1.SelectionStart = Pos - 3 RichTextBox1.SelectionLength = Len(PalabraClave(i)) RichTextBox1.Text = RichTextBox1.Text.Replace(PalabraClave(i), Reemplaza(i)) RichTextBox1.Focus() End With Me.Text = "Se encontro la palabra." Else RichTextBox1.Focus() Me.Text = "No se encontro." End If End If Next RichTextBox1.SelectionAlignment = HorizontalAlignment.Center El problema que tengo ahora es que despues que reemplaza me cambia totalmente el formato del texto dejandolo según este la primer linea del Richtextbox. y aunque coloque la linea de texto que antes mencione ya no funciona. Queciera Saber si alguien me puede decir como puedo conservar el formato original del Richtextbox. |
| |||
Respuesta: Reemplazar palabras en richtextbox ¡ Ya solucione el problema. Al utilizar la propiedad Text estaba cambiando el Formato, así que cambie la propiedad Text por Rtf y funciona perfectamente, ahora reemplaza sin cambiar el formato del texto. Gracias a todos... |
Etiquetas: |