Autor |
Mensaje |
alessandri
Técnico Programador
Registrado: Abril 2010
Mensajes: 151
Edad: 42
|
Buscar Datos En Un TextArea
Hola colegas,
Tengo la costumbre de hacer los reportes en TEXTAREA, porque es muy flexible. Ahora bien,
lo que necesito es un métodos para buscar datos en un textArea, es decir, como se hace en un
web browser; Contr + F, escribes lo que buscas y te lleva al lugar exacto.
En Visual Basic 6.0 hay un objeto llamado RichTexbox, y es el equivalente al TextArea.
El RichTexbox tiene un método llamado FIND, y permite hacer dicha búsqueda.
¿Hay alguna forma de hacer esto en un TextArea?
Necesito este método ya que algunos de mis clientes examinan listados de cientos de paginas
y esto les ahorraría mucho tiempo.
Gracias
última edición por alessandri el Martes, 08 Octobre 2013, 23:26; editado 1 vez
|
#1 Martes, 08 Octobre 2013, 23:23 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Buscar Datos En Un TextArea
Es muy fácil. Te adjunto un ejemplo.
Suerte.
Descripción: |
Ahora sí funciona. |
Descargar |
Nombre del archivo: |
buscatexto.tar.gz |
Tamaño: |
5.34 KB |
Descargado: |
51 veces |
Descripción: |
Ahora sí funciona. |
Descargar |
Nombre del archivo: |
buscatexto.tar.gz |
Tamaño: |
5.34 KB |
Descargado: |
51 veces |
Descripción: |
Ahora sí funciona. |
Descargar |
Nombre del archivo: |
buscatexto.tar.gz |
Tamaño: |
5.34 KB |
Descargado: |
51 veces |
última edición por shordi el Jueves, 10 Octobre 2013, 17:24; editado 2 veces
|
#2 Miercoles, 09 Octobre 2013, 00:07 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Buscar Datos En Un TextArea
He mejorado el aspecto, pero tiene un bug. Abro un hilo nuevo al respecto.
|
#3 Miercoles, 09 Octobre 2013, 23:08 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Buscar Datos En Un TextArea
He corregido el bug que tenía con la función rInstr (que no hacía caso al tercer parámetro) al buscar hacia atrás. Ahora funciona bien.
|
#4 Jueves, 10 Octobre 2013, 17:26 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Buscar Datos En Un TextArea
Estupendo. Ahora se puede heredar un nuevo control a partir del TextArea que incluya dos métodos nuevos, FindForward y FindBackwards y de esa manera incluir la clase en cualquier proyecto.
Venga, ¿quién se anima con la tarea?
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#5 Jueves, 10 Octobre 2013, 19:56 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Buscar Datos En Un TextArea
|
#6 Viernes, 11 Octobre 2013, 09:06 |
|
|
alessandri
Técnico Programador
Registrado: Abril 2010
Mensajes: 151
Edad: 42
|
Re: Buscar Datos En Un TextArea
Gracias por su ayuda... en cuanto lo adapte a mi proyecto enviare un ejemplo.
|
#7 Sabado, 12 Octobre 2013, 13:01 |
|
|
alessandri
Técnico Programador
Registrado: Abril 2010
Mensajes: 151
Edad: 42
|
Re: Buscar Datos En Un TextArea
Hola colegas,
Les cuento que simplifique un poco el código y lo adpte a lo que requere
mi proyecto.
En un texbox de busqueda (txtbusqueda) pongo el siguiente código:
Creo un función llamada Bespecifico la cual contiene:
PRIVATE SUB Bespecifico() 'busca dentro del reporte o textarea
DIM desdebsc AS Integer
DIM donde AS Integer
desdebsc = Max(oldpos - 1, 0)
donde = String.RInStr(String.Left(UCase(reporte.text), oldpos - 1), UCase(txtbuscar.text), 0)
IF donde > 0 THEN
reporte.pos = donde
reporte.EnsureVisible
reporte.Select(donde - 1, String.Len(txtbuscar.Text))
oldpos = donde
ncoin += 1
ELSE
Module1.MSI("Se econtraron: " & ncoin & " Coincidencias. Puede repetir la busqueda.")
oldpos = 0 ' decalaradas private
ncoin = 0 ' decalaradas private
ENDIF
END
Entonces funciona presionando Enter hasta que llega al inicio del documento, ya que la búsqueda va desde el final hasta el inicio
luego informa que ha terminado la búsqueda. en GB2 no se usa GB.IngonerCase, por lo que tuve que usar Ucase.
Gracias a todos.
|
#8 Sabado, 12 Octobre 2013, 17:10 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Buscar Datos En Un TextArea
Ok. Es otra forma...
última edición por shordi el Sabado, 12 Octobre 2013, 17:34; editado 3 veces
|
#9 Sabado, 12 Octobre 2013, 17:31 |
|
|
edivaldo
Usuario
Registrado: Febrero 2014
Mensajes: 15
Edad: 41 Ubicación:
|
Re: Buscar Datos En Un TextArea
Hola a todos.
Soy nuevo en la programación. Estoy tratando de hacer la búsqueda como se describe en este foro. Sin embargo, cuando intento compilar devuelve el siguiente error:
Unknown indentifier: oldpos
¿Alguien sabe como solucionar esto?
|
#10 Viernes, 14 Febrero 2014, 15:17 |
|
|
|