arroba más más - Programación e Internet  arroba más más - Programación e Internet
Estás en: Inicio > Cursos > Entornos de desarrollo > El entorno Delphi > Curso básico de Delphi > - Los cuadros FindDialog y ReplaceDialog
 
CAPÍTULOS

SECCIONES

SITIOS RECOMENDADOS

OTROS SITIOS DE LA AUTORA

En línea desde el 7 de noviembre de 2000

7III. Los cuadros FindDialog y ReplaceDialog

Para ayudarnos con las opciones que dar cuando queremos que el usuario pueda realizar una búsqueda en un texto, o una sustitución, tenemos dos cuadros de diálogo, el cuadro FindDialog, que es el que nos sirve para las opciones de búsqueda, y el cuadro ReplaceDialog, que es el que también nos da las opciones de búsqueda y sustitución.

El cuadro FindDialog

Podemos encontrarlo en la paleta de componentes bajo el icono El control FindDialog de Delphi - Paleta Dialogs, y cuenta con las siguientes opciones.

Opciones de búsqueda

La propiedad Options de este componente nos permitirá configurar las opciones que estarán disponibles en el cuadro de diálogo, antes de mostrarlo, así como conocer cuáles ha seleccionado el usuario, después de haberlo mostrado. Se trata de un conjunto que puede tomar los siguientes valores:

  • frHideMatchCase: Oculta la opción Match Case, cuya finalidad es indicar que la búsqueda se ha de realizar respetando el orden de mayúsculas y minúsculas.
  • frDisableMatchCase: Desactiva la misma opción anterior, de tal forma que aunque es visible el usuario no puede seleccionarla.
  • frMatchCase: Indica que la opción Match Case ha sido activada por el usuario.
  • frHideWholeWord: Oculta la opción Match Whole Word Only, cuya finalidad es indicar que la búsqueda se ha de realizar sobre palabras completas.
  • frDisableWholeWord: Desactiva la opción anterior, dejándola visible pero inaccesible para el usuario.
  • frWholeWord: Indica que el usuario ha seleccionado la opción Match Whole Word Only en el cuadro de diálogo.
  • frHideUpDown: Oculta la opción Direction, cuya finalidad es facilitar la indicación de la dirección de búsqueda.
  • frDisableUpDown: Desactiva la opción anterior, no permitiendo que el usuario la seleccione.
  • frDown: Cuando está activa inidica que el usuario ha seleccionado el botón Down, mientras que si no lo está el botón elegido será Up.
  • frFindNext: Indica que se ha pulsado el botón Find Next del cuadro de diálogo.
  • frShowHelp: Fuerza la aparición de un botón de ayuda en la ventana.

Cada vez que el usuario pulse el botón Find Next, el componente generará un evento OnFind, en cuyo manejador podemos añadir el código necesario para obtener el texto a buscar, de la propiedad FindText, y poner en marcha el proceso según las opciones seleccionadas. El cuadro de diálogo no se oculta, de tal forma que el usuario puede volver a pulsar el botón Find Next para repetir la búsqueda, o bien modificar el texto y las opciones a buscar. Si lo queremos podemos cerrar el cuadro de diálogo desde nuestro programa, utilizando el método CloseDialog, si no lo hacemos será el usuario el responsable de cerrarlo, para lo cual tendrá que pulsar el botón Cancel.

Mientras esté en marcha el proceso de búsqueda, en caso de que el cuadro de diálogo pueda interferir con la visualización de nuestro programa, podemos utilizar la propiedad Position para desplazarlo a otro punto. Esta propiedad toma como parámetro un TPoint, que es un registro conteniendo dos miembros, X e Y, correspondientes a la coordenada horizontal y vertical, respectivamente, del punto en el que queremos posicionar la ventana.

Sustituciones: ReplaceDialog

La apariencia y funcionamiento del cuadro de diálogo para búsqueda y sustitución es similar al anterior. El componente está representado en la Paleta de componentes como el icono El control ReplaceDialog de Delphi - Paleta Dialogs.

En este existe un campo adicional, en el que se introduce el texto que sustituirá al texto buscado, y otros dos botones, cuya finalidad es sustituir una vez o todas las veces que el texto aparezca.

Al igual que ocurre con el cuadro de diálogo de búsqueda, cada vez que el usuario pulsa el botón Find Next se genera un evento OnFind. De forma similar, al pulsar el botón Replace o Replace All se producirá un evento OnReplace. Para saber cuál de los dos botones ha sido pulsado nos servirá la propiedad Options, ya que dependiendo de ello en esta propiedad encontraremos activa la constante frReplace o frReplaceAll.

Tenemos en la ayuda de Delphi sobre estos componentes un ejemplo sobre cómo realizar la búsqueda de la palabra que nos hayan introducido. Hay que recordar que estos componentes no nos buscan la palabra, simplemente nos facilitan mostrar las opciones que hay que dar al usuario y la recogida de datos correspondiente.

Autor: Lola Cárdenas Luque
Última actualización: 24 de junio de 2001
- Los cuadros FontDialog, ColorDialog y PrintDialog | [Fin]
Copyright © 2000 - 2005, Lola Cárdenas Luque - Todos los derechos reservados