
13/09/2009, 14:18
|
 | | | Fecha de Ingreso: julio-2006 Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 18 años, 8 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 |