elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Capturar lo último que se ve en un textbox o RichTextBox
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Capturar lo último que se ve en un textbox o RichTextBox  (Leído 3,549 veces)
dont'Exist

Desconectado Desconectado

Mensajes: 97


Ver Perfil
Capturar lo último que se ve en un textbox o RichTextBox
« en: 23 Diciembre 2020, 14:02 pm »

Hola a todos.
Estoy trabajando en un proyecto el cual tiene 2 Caja de textos, en una existe un texto precargado y en el otro, la idea es transcribir lo que se lee en el primero. Intento hacer que cuando se llegue a tiperar lo último que se vea en donde está el texto precargado, el scroll de éste se mueva permitiendo seguir leyendo lo que sigue y continuar con la transcripción y no tener que bajar el scroll a mano.

Sería cuestión de comparar mientras escribo con lo último que se vea en el RichTextBox y si hay coincidencia entonces mover el scroll...

Se como capturar las ultimas palabras de un textbox, pero no es lo que necesito.

Espero que me haya podido hacer entender y que tambien me puedan dar una orientación para continuar con esto.

Muchas gracias


« Última modificación: 23 Diciembre 2020, 14:07 pm por dont'Exist » En línea

Danielㅤ


Desconectado Desconectado

Mensajes: 1.675


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: Capturar lo último que se ve en un textbox o RichTextBox
« Respuesta #1 en: 23 Diciembre 2020, 16:08 pm »

Hola, tal vez eso sea un poco complicado porque lo que vaya en la caja de textbox no siempre tendrá la misma longitud, es decir no siempre habrá la misma cantidad de palabras ni de letras, pero lo que podes hacer que es posible es guardar la longitud del texto y de ahí saber que longitud de texto ocupa todo el texto (lo que se ve en el textbox).


Saludos


En línea

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Capturar lo último que se ve en un textbox o RichTextBox
« Respuesta #2 en: 23 Diciembre 2020, 16:34 pm »

Se me ocurre:
1- Obtener la ultima linea de texto visible en el 1er textbox (texto a ser transcrito)
    GetLastVisibleLineIndex (https://docs.microsoft.com/en-us/dotnet/api/system.windows.controls.textbox.getlastvisiblelineindex?view=net-5.0)
    GetLineText (https://docs.microsoft.com/en-us/dotnet/api/system.windows.controls.textbox.getlinetext?view=net-5.0)
2- Verificar si dicha linea anterior esta contenida en el final del texto del 2do textbox (texto transcrito). En caso afirmativo mover el scroll del 1er textbox a la siguiente linea
    ScrollToLine (https://docs.microsoft.com/en-us/dotnet/api/system.windows.controls.textbox.scrolltoline?view=net-5.0)

No se si funcionara como necesitas, pero podrias probar algo asi
Saludos
En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.351


Ver Perfil
Re: Capturar lo último que se ve en un textbox o RichTextBox
« Respuesta #3 en: 23 Diciembre 2020, 18:37 pm »

Necesitas mantener control del punto de inserción en el top del control a controlar.
Es decir una búsqueda por sí solo no basta, ya que un mismo texto podría aparecer más de una vez.

Tampoco te explicas suficientemente bien...
Si vas teclando lo que te parece... Volver a escribir lo que ya aprece en un texto es cansino si va a ser largo (lo que parece ser dado que precisa tener un scroll).

Yo te sugiero preferiblemente copiar/ignorar y pegar (sin necesidad de teclear).
Tiene la ventaja de que tú te remitirías a señalar si la línea (cortada hasta por ejemplo un signo de puntuación a tu elección, coma, punto, solo punto, etc...) la quieres copiar, no o solo una parte seleccionada de la misma.

En este caso, necesitarías un tercer textbox, donde copiar la línea en curso del textbox de origen, y 3 botones:
- Uno indica 'Me interesa'
...y entonces se pega la líea completa al final de ese textbox que quieres..
- Otro botón indica 'Pegar Selección'.
Pudiera ser el caso de que de una línea en concreto no te interese toda y dado que no va a adivinar en cada ocasión por donde cortar y pegar en esa tercera caja de texto... si tu quieres solo cierto contenido de la línea, entonces lo seleccionas, y con el botón, sería 'Pegar selección'... y el texto seleccionado se transfiere al final del textbox que vas editando. Puesto que podrías requerir copiar más de 1 selección... podrá hacerse cada vez una selección y pulsar dicho botón.
- El tercer  botón indica 'Leer siguiente Linea'.
Lee la siguiente línea del textbox de origen... es un bucle que acaba cuando se alcance el final del textbox de origen. Tambien s epulsaría este botón cuando de la línea actual, no te interesa nada.

...por supuesto nada impide que manualmente sigas editando en la caja de texto de destino...

Puedes darte cuenta que con este modelo, te da igual siquiera que la caja de texto de origen haga o no scroll, pués lo que necesitar ver, lo ves en esa tercera caja de texto línea a línea (cortada por signos de puntuación y/o por saltos de línea, etc... como mejor se ajuste a lo que precises).
« Última modificación: 23 Diciembre 2020, 18:49 pm por Serapis » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines