Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como saber cuando se paso por un salto de linea RichTextBox?

Estas en el tema de Como saber cuando se paso por un salto de linea RichTextBox? en el foro de Visual Basic clásico en Foros del Web. Tengo un richtextbox con 6 lineas y hago una especie de busqueda linea por linea de forma ordenada desde la linea 1 hasta la linea ...
  #1 (permalink)  
Antiguo 10/09/2009, 18:06
 
Fecha de Ingreso: junio-2008
Mensajes: 343
Antigüedad: 15 años, 10 meses
Puntos: 4
Saber cuantos salto de linea hay antes de una palabra encontrada RichTextBox

Tengo un richtextbox con 6 lineas y hago una especie de busqueda linea por linea de forma ordenada desde la linea 1 hasta la linea 6 atravez de la propiedad .find

Buscar = RichTextBox1.Find(Text1.text, 0)

Código:
Linea 1
Linea 2
Linea 3
Linea 4
Linea 5
Linea 6
Como puedo detectar cuando paso por un salto de linea si busco asi
Si Text1.text="Linea 2" entonces msgbox "paso por el 1er salto de linea"
Si Text1.text="Linea 3" entonces msgbox "paso por el 2do salto de linea"

Última edición por hunter18; 12/09/2009 a las 13:07
  #2 (permalink)  
Antiguo 11/09/2009, 04:19
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

No entiendo tu planteamiento, pero, y aunque sea algo básico, se comentaré por si no lo sabes que el salto de línea puedes buscarlo como VbCrLf

Ejemplo:

Posicion=instr(1,text1.text,vbcrlf)
if Posicion<>0 then msgbox "este texto tiene un salto de línea en la posición " & Posicion

pero tén en cuenta que si una línea es muy larga y el richtextbox no tiene barra de desplazamiento abajo, la línea aparecerá como 2 o 3 líneas, pero no habrá saltos de línea entre ellas por ser una misma línea cortada para caber en el textbox.
  #3 (permalink)  
Antiguo 12/09/2009, 12:51
 
Fecha de Ingreso: junio-2008
Mensajes: 343
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Estoy tratando imitar algunas funciones de typing master, no se si lo hayan utilizado alguna vez.
Explico un poco mas, si tengo 6 lineas en el richtextbox y tengo una funcion que determina cuantos saltos de linea hay en este ejemplo habrian 5, eso lo tengo resuelto.

Pero lo que necesito saber es cuantos saltos de linea hay antes la palabra encontrada con la propiedad find.

Por ejemplo si con la propiedad find busco la palabra "Linea 3" estonces quiere decir que antes de esta palabra hay 2 saltos de linea, si busco la palabra "Linea 6" entonces hay 5 saltos de linea antes de esta palabra, lo que necesito es obtener el numeo entero de los saltos de linea que existen antes de la palabra encontrada con la propiedad find, es posible saber esto?

Si no se puede entonces mi logica esta mal y debo reformular la pregunta, como les dije estoy imitando las funciones del typing master ya tengo casi todo resuelto solo faltan algunos detalles, saludos y gracias por responder

Última edición por hunter18; 12/09/2009 a las 13:00
  #4 (permalink)  
Antiguo 12/09/2009, 13:33
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Creo que una vez que tienes la posicion del texto buscado:

PosicionTexto=instr(1,richtextbox1.text,"TextoBusc ado")

puedes contar los saltos de linea que hay en la parte anterior a ese texto con una funcion como esta:


Function ContarSaltos(byval cadena as string) as double
Dim Contador as double
Dim Posicion as double

Repite:
posicion=instr(posicion+1,cadena,vbcrlf)
if posicion<>0 then
contador=contador+1
goto repite
end if
ContarSaltos=Contador
End Function

Y usarla así:

SaltosQueHay=ContarSaltos(left$(RichTextBox1.text, PosicionTexto-1))

Lo he hecho al vuelo y no lo he probado, pero creo que funcionará.

Saludos

Última edición por pkj; 12/09/2009 a las 13:40
  #5 (permalink)  
Antiguo 12/09/2009, 14:34
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Hoal, si se puede , ahora no tengo un ejemplo, pero todo lo que sea Richtextbox se maneja con la api Sendmessage...

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #6 (permalink)  
Antiguo 12/09/2009, 15:35
 
Fecha de Ingreso: junio-2008
Mensajes: 343
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

pkj tu funcion funciona perfectamente pero hay algo que falta que pasa si la palabra encontrada se repite
PosicionTexto=instr(1,richtextbox1.text,"Linea 3") 'Aqui devolvera 2 como resultado pero si esa misma palabra se repite de esta manera siempre tomara la primera coincidencia aunque la palabra que haya encontrado sea la ultima, en fin esa es cuestion mia ya vere como soluciono, gracias porel codigo

Linea 1
Linea 2
Linea 3
Linea 4
Linea 5
Linea 6
Linea 3

seba123neo espero te des un minuto para darme unos ejemplos con sendmessage igualmente buscare en google haber que encuentro, saludos
  #7 (permalink)  
Antiguo 12/09/2009, 16:57
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Siempre puedes hacer la búsqueda desde el cursor en adelante:

PosicionTexto=instr(richtextbox1.selstart+1,richte xtbox1.text,"Linea 3")

Espero que te sirva.
  #8 (permalink)  
Antiguo 12/09/2009, 23:43
 
Fecha de Ingreso: junio-2008
Mensajes: 343
Antigüedad: 15 años, 10 meses
Puntos: 4
De acuerdo Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Cita:
Iniciado por pkj Ver Mensaje
Siempre puedes hacer la búsqueda desde el cursor en adelante:

PosicionTexto=instr(richtextbox1.selstart+1,richte xtbox1.text,"Linea 3")

Espero que te sirva.
He estado probando y no lo consigo en todo caso tendria que hacer algo como esto, Buscar desde la posicion 1 hasta donde se encontro la palabra "Linea 3"

He conseguido las cordenadas de la palabra "Linea 3" con .seltext y .selLeng, pero no se como aplicarla a la funcion?
Código:
'
PosicionTexto=instr(1,RichTextBox1.text,Posicion_donde_termina_la_palabra_que_se_encontro)
'
En todo caso habria que modificar la funcion, muchas gracias por la ayuda, el lunes o martes retomare esto, saludos y gracias por los minutos.
  #9 (permalink)  
Antiguo 13/09/2009, 03:44
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Es que el tercer parametro es la palabra a buscar, no la posicion.

Lo voy a hacer en una sub a ver si así lo entiendes y te sirve:
(Supongo que tendrás puesto el RichTextBox.HideSelection = False para que no se deje de ver lo selecionado cuando el texto pierde el foco)

La Sub se usaría así:
BuscaTexto "Linea 3", RichTextBox1
' el texto buscado / el textbox donde buscar


Private Sub BuscaTexto(ByVal TextoABuscar As String, TextBox As RichTextBox)
Dim PosicionTexto As Double

' El fallo que tiene esta sub es que si quieres seleccionar la primera palabra del texto, no lo hace.
' Por eso añado esto al comienzo por si acaso:
If TextBox.SelStart = 0 And Left$(TextBox.Text, Len(TextoABuscar)) = TextoABuscar Then
TextBox.SelLength = Len(TextoABuscar)
'seleccionamos el texto y salimos
Exit Sub
End If

' Buscamos a partir del cursor.
' En efecto, esta línea siempre encontraba el mismo texto
'PosicionTexto = InStr(TextBox.SelStart + 1, TextBox.Text, TextoABuscar)

' Ahora buscamos a partir del final de lo seleccionado
PosicionTexto = InStr(TextBox.SelStart + TextBox.SelLength + 1, TextBox.Text, TextoABuscar)
'Esto devuelve la posicion de la letra "L" de "Linea 3"

If PosicionTexto > 0 Then
TextBox.SelStart = PosicionTexto - 1
TextBox.SelLength = Len(TextoABuscar)
End If
'Seleccionamos el texto encontrado

End Sub

Al haber selecionado el texto, si volvemos a ejecutar la sub:

BuscaTexto "Linea 3", RichTextBox1

seleccionara el siguiente "Linea 3", y así hasta el final

Para comenzar una nueva búsqueda solo tendrás que asegurarte de poner:

RichTextBox1.Selstart = 0

Una cosa a tener en cuenta es que la búsqueda es sensible a mayúsculas/minúsculas, de modo que si buscas "Pepito" y existe "pepito", este se pasará por alto y se buscará el siguiente "Pepito".

Por cierto, había olvidado .SelText
El otro día queríamos extraer el texto que habíamos seleccionado y no me acordé que así te lo dá. Que mala cabeza.

Suerte con ello.

Última edición por pkj; 13/09/2009 a las 09:10
  #10 (permalink)  
Antiguo 13/09/2009, 08:01
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Me aburría y la he modificado para usar el RichTextBox.Find

Private Sub BuscaTexto(ByVal TextoABuscar As String, TextBox As RichTextBox)
Dim PosicionTexto As Double
If TextBox.SelStart >= Len(TextBox.text) Then Exit Sub

If TextBox.SelStart = 0 And Left$(TextBox.Text, Len(TextoABuscar)) = TextoABuscar And TextBox.SelText <> TextoABuscar Then
TextBox.SelLength = Len(TextoABuscar)
Exit Sub
End If

PosicionTexto = TextBox.Find(TextoABuscar, TextBox.SelStart + TextBox.SelLength)
If PosicionTexto > 0 then
TextBox.SelStart = PosicionTexto
TextBox.SelLength = Len(TextoABuscar)
End If

End Sub

Y así parece funcionar bien

Saludos

Última edición por pkj; 13/09/2009 a las 09:12
  #11 (permalink)  
Antiguo 13/09/2009, 13:52
 
Fecha de Ingreso: junio-2008
Mensajes: 343
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Que tal tio gracias por las funciones la mejor alternativa es utilizando el metodo find que te da la opcion de distingir mayus. de minus. con el aprametro rtfMatchCase pero ese no era el dilema, ya tenia algo similar.

Si recordaras la idea era encontrar los saltos de lineas que se encuentran antes de la palabra encontrada con el metodo find, tu me diste la funcion ContarSaltos y se ejecuta asi

PosicionTexto = InStr(1, RichTextBox1.Text, "Linea 3")
Saltosquehay = ContarSaltos(Left$(RichTextBox1.Text, PosicionTexto - 1))

Pero siempre toma la primera coincidencia encontrada como podria fusionar ambas funciones para lograr lo que necesito?

Ah!, como decias en la funcion BuscaTexto, una vez que se llega al final hay que volver a colocar el cursor al inicio ya solucione eso, solo faltaria contar los saltos antes de dicha palabra encontrada, ahi dejo la funcion que estoy utilizando

Código:
Private Sub BuscaTexto2(ByVal TextoABuscar As String, TextBox As RichTextBox)
Dim PosicionTexto As Double
If TextBox.SelStart >= Len(TextBox.Text) Then Exit Sub

If TextBox.SelStart = 0 And Left$(TextBox.Text, Len(TextoABuscar)) = TextoABuscar And TextBox.SelText <> TextoABuscar Then
TextBox.SelLength = Len(TextoABuscar)
Exit Sub
End If

PosicionTexto = TextBox.Find(TextoABuscar, TextBox.SelStart + TextBox.SelLength)
If PosicionTexto > 0 Then
TextBox.SelStart = PosicionTexto
TextBox.SelLength = Len(TextoABuscar)
End If

Dim Cade As Integer, LenTotal As Integer
Cade = TextBox.SelStart + TextBox.SelLength
LenTotal = Len(TextBox.Text)
If LenTotal = Cade Then TextBox.SelStart = 0

'##AQUI HABRIA QUE APLICA LA FUNCION ContarSaltos PARA CONTAR LOS SALTOS##
'No se como contar los saltos aunque ya tengo las coordenadas de la palabra por que si utilizo la palabra en si siempre tomara solo la 1era coincidencia?
End Sub
  #12 (permalink)  
Antiguo 13/09/2009, 14:18
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Creo que te lias.
Si usas por ejemplo el ultimo buscatexto:

Private Sub BuscaTexto(ByVal TextoABuscar As String, TextBox As RichTextBox)
Dim PosicionTexto As Double
If TextBox.SelStart >= Len(TextBox.text) Then Exit Sub

If TextBox.SelStart = 0 And Left$(TextBox.Text, Len(TextoABuscar)) = TextoABuscar And TextBox.SelText <> TextoABuscar Then
TextBox.SelLength = Len(TextoABuscar)
Exit Sub
End If

PosicionTexto = TextBox.Find(TextoABuscar, TextBox.SelStart + TextBox.SelLength)
If PosicionTexto > 0 then
TextBox.SelStart = PosicionTexto
TextBox.SelLength = Len(TextoABuscar)
End If

Y la funcion contarsaltos por otro lado, que no tengo aqui:
Function ContarSaltos(....) as double
...
End Function

En tu botón o lo que uses para buscar solo tienes que poner:

BuscaTexto "Linea 3", RichTextBox1

Saltos=ContarSaltos(Left$(RichTextBox1.Text, RichTextBox1.SelStart))
No se para que quieres los saltos. No conozco lo que dices que intentas simular.

Insisto en que tienes que tener el parametro RichTextBox.HideSelection = False o pasar el foco al texto para que se vea constantemente lo seleccionado.
Lo digo por que yo tardé en conocer esa opción y me comia la cabeza más.

PD: Por cierto, direis que "voy sobrao" por que declaro las variables numéricas como Double, pero es que estuve creando un simulacro de programa que generaba reducciones para la quiniela de futbol y los Long se me quedaban cortos en muchas ocasiones, así que me acostumbré a los Double. Total, memoria en estos tiempos suele sobrar y se supone que cuando finalizas las Sub las variables se borran. En otro caso cuando ejecutaras 50 veces algo pesado te quedarías sin memoria y a mi no me ha pasado nunca.

Saluditos

Última edición por pkj; 13/09/2009 a las 14:56
  #13 (permalink)  
Antiguo 13/09/2009, 14:53
 
Fecha de Ingreso: junio-2008
Mensajes: 343
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Tienes toda la razon tio el error era mio estaba aplicando mal las funciones, como tu dices me funciona correctamente, por fin termine con esto.
Typing master es un programa para aprender a digitar y hacer practicas yo estoy copiando su modulo de practicas.

saludos
  #14 (permalink)  
Antiguo 13/09/2009, 22:08
 
Fecha de Ingreso: junio-2008
Mensajes: 343
Antigüedad: 15 años, 10 meses
Puntos: 4
De acuerdo Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Tio surgio un pequeño problema, cuando utilizo vbCrLf ó vbNewLine o doy el salto con la tecla enter funciona perfecto, pero cuando el RichTextBox asigna automaticamente el salto cuando el texto es muy largo no funciona!,tu habias mencionado algo al respecto anteriormente, supongo por que en la funcion solo se coloca el vbCrLf, alguna idea de como saber cuando el richtexbox le asigna el salto automaticamente?

Código:
Function ContarSaltos(ByVal cadena As String) As Double
Dim Contador As Double
Dim Posicion As Double
Repite:
Posicion = InStr(Posicion + 1, cadena, vbCrLf)
If Posicion <> 0 Then
Contador = Contador + 1
GoTo Repite
End If
ContarSaltos = Contador
End Function
No me habia percatado de esto porq tengo otra funcion con el api sendmessage y si me cuenta los saltos aun cuando los haga el richtextbox automaticamente.

saludos
  #15 (permalink)  
Antiguo 14/09/2009, 03:19
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Si, creo que algo comenté sobre eso.
El problema es que en esos casos no hay salto de línea que puedas buscar.
Que yo sepa no hay ningún caracter especial que sea responsable de ese tipo de salto, ya que en realidad no hay tal salto.
No tengo idea de como podrías detectarlo. Lo único que se me ocurre es ponerle la barra de desplazamiento de abajo para que no se corten las líneas, pero imagino que eso a tí no te servirá.

Suerte. Igual alguien tiene una solución.
  #16 (permalink)  
Antiguo 16/09/2009, 15:23
 
Fecha de Ingreso: junio-2008
Mensajes: 343
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Hola pkj encontra una funcion para contar los saltos con el api Sendmessage lo bueno es que toma en cuenta el vbCrLf y los saltos que realiza el Richtextbox cuando la cadena es un larga.
Código:
Private Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Sub Command3_Click()

MsgBox "Hay " & SendMessageLong(RichTextBox1.hwnd, &HBA, 0&, 0&) - 1 & " salto(s) de línea"

End Sub
Pero no se como pasarle la funcion "BuscaTexto" para que haga la busqueda desde determinada coordena.
  #17 (permalink)  
Antiguo 16/09/2009, 15:40
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

No entiendo tu pregunta. Aunque miré en internet sigo sin saber como funciona ese programa, ya que no lo he visto funcionar.
De todas formas BuscaTexto creo que buscaba desde el cursor en adelante. No tiene en cuenta los saltos de línea. Solo tienes que poner el cursor (.SelStart) donde quieras empezar a buscar.

Cuéntame más.

Saludos
  #18 (permalink)  
Antiguo 16/09/2009, 16:31
 
Fecha de Ingreso: junio-2008
Mensajes: 343
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Parece que no exlique bien, de esta forma me funciona bien, pero no toma como saltos cuando los hace el richtextbox por falta de anchura.

Código:
Call BuscaTexto(Text1.Text, RichTextBox1)
Saltos = ContarSaltos(Left$(RichTextBox1.Text, RichTextBox1.SelStart))
MsgBox "Hay " & Saltos & " saltos de linea antes de la palabra encontrada"
Pero utilizando el API SendMessage no se como aplicarle .selstart debido a que esta de esta forma RichTextBox1.hwnd y obligatoriamente debe estar asi, en mi ignorancia asumo eso.
El codigo de abajo no respeta la posicion que se asigna con la funcion BuscaTexto solo se limita decirme los saltos que existen

Código:
Call BuscaTexto(Text1.Text, RichTextBox1)
MsgBox "Hay " & SendMessageLong(RichTextBox1.hwnd, &HBA, 0&, 0&) - 1 & " salto(s) de línea antes de la palabra encontrada"
El programa que mencione funciona algo asi, hay dos richtextbox en el primero hay cualquier texto y en el segundo richtextbox debo escribir exactamente lo que hay en el rich1, cada palabra que me equivoque debe colorearse en rojo y al final mostrar las estadisticas, solo eso.
¿Por que quiero contar los saltos antes de una palabra encontrada? por que el rich1 uno tiene un altura de 9 lineas, es decir habra ocho saltos de linea antes de terminar de visualizar el contenido.
La cosa es asi, cuando llegue a 8 saltos ejecutare una funcion de scroll que me mostrara el texto a partir de la linea 10. Podria hacerlo precionando un boton cada vez que llegue al final del rich1 para ver el siguiete parrafo pero el programa lo hace todo automatico, quizas utilizando rft o con lenguajes como visual C, JAVA u otro lenguaje, quien sabe.
Lo que estoy copiando solo es el modulo de practicas las demas funciones de dicho programa utilizan imagenes a modo de teclas y tienen un monton de cosas que no bienen al caso, yo solo necesito copiar su modulo de practicas y me falta solo esto para terminar, ademas de controlar errores, saludos
  #19 (permalink)  
Antiguo 16/09/2009, 17:36
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Voy a intentar probar el programa a ver si te entiendo porque sigo en la parra.

De todas formas, si voy por buen camino, creo que quieres que según escribes en el texto destino, el texto origen se vaya desplazando para poder ir leyendolo.
Si pones este código en los eventos KeyUp y Click del texto destino, el texto origen avanzará línea a línea según escribas en el otro lado. Igual te apañas con eso.

Suponiendo que el textbox que contiene el texto a copiar es RT1, y el textbox donde escribes es RT2, solo necesitas esto:

Private Sub RT2_Click()
On Local Error Resume Next
RT1.SelStart = RT2.SelStart
On Local Error GoTo 0
End Sub

Private Sub RT2_KeyUp(KeyCode As Integer, Shift As Integer)
On Local Error Resume Next
RT1.SelStart = RT2.SelStart
On Local Error GoTo 0
End Sub

No se, igual no es así y sigo sin saber que quieres hacer.
Sobre lo de poner texto en rojo si que no tengo idea de como se hace, y tiene que ser facil, lo haces hasta aquí. Yo ni ventanas de código sé poner.

Sobre lo de contar las líneas, creo que el sendmessage te devuelve la cantidad total de líneas, no el número de línea en uso. De todas formas la línea en uso la tienes, como dijo Culd, con:
Msgbox "Estamos en la línea " & RT1.GetLineFromChar(RT1.SelStart) + 1
y cuenta tambien las líneas largas que se han partido.

Saludos
  #20 (permalink)  
Antiguo 16/09/2009, 18:48
 
Fecha de Ingreso: junio-2008
Mensajes: 343
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Tio me acabas de solucionar la vida y reducir algo de codigo, como habia dicho estaba contando los saltos de linea antes de la palabra encontrada o en uso para que cuando llegue a cierto numero me aplique una funcion de scroll que tengo y me muestre el siguiete parrafo, pues ya lo solucione con la linea que me diste
Msgbox "Estamos en la línea " & RT1.GetLineFromChar(RT1.SelStart) + 1

Aunque ya la habia visto el codigo de culd seguia con el plantiamiento que tenia en mente y no vi la solucion con claridad

En fin he apredido a manejar un poco el richtextbox me quedo esto para solucionar lo del scroll automatico
Código:
'Digamos que hay 13 lineas y solo visualizan 9 al llegar a dicha fila 
'me mostrara las 4 lineas restantes, asi de simple!!!
If RichTextBox1.GetLineFromChar(RichTextBox1.SelStart) + 1 = 9 Then

Call ScrollAutomatico(Me.RichTextBox1, 10) 'Aqui se indica desde que linea se empezara a ver el contenido del richtextbox

End If
Muchas gracias por el tiempo tio con esto creo que finalizo el tema

saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:12.