Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como filtrar archivos en un Filelistbox (https://www.clubdelphi.com/foros/showthread.php?t=22828)

Bairon Kumon 28-06-2005 18:39:14

Como filtrar archivos en un Filelistbox
 
Hola a todos

Bueno lo que deseo saber es como puedo hacer para filtrar archivos en un filelistbox, ejemplo: como le´puedo hacer para que en un filelistbox pueda desplegar en solo archivos BMP o txt o mp3, sin que tenga que aperecer todos los archivos de diferentes

Asi como cuando vas a abrir un mp3 desde el winamp, solo aparecen lso archicos de audio y/o mp3

megustaria saber como se podria realizar la filtracion o un ejemplo donde se aplique, gracias de ante mano

Nos vemos

jachguate 28-06-2005 18:44:25

Toma solo un par de segundos presionar la tecla F1 sobre el componente e ir a su lista de propiedades. Tomará un par de minutos revisar la lista y leer la ayuda de aquellas que nos parezcan candidatas.

Francamente me parece que el sentido de los foros se pierde cuando los foristas no nos tomamos primero el tiempo de intentar por nuestra propia cuenta... :mad:

Cita:

Empezado por F1
Limits which files are displayed in the file list box.

property Mask: string;

Description

Set Mask to a regular expression to limit the list box to files that match the mask. The value of the mask is a file name that may include wildcards. The asterisk (*) is a wildcard which matches any number of arbitrary characters. The question mark (?) is a wildcard which matches a single arbitrary character. The file mask *.* displays all files, which is the default value.

To specify multiple file masks, separate the file mask specifications with semicolons. For example, *.PAS; *.EXE.

If the form includes a TFilterComboBox object, set the FileList property of the filter combo box to have the Mask property updated automatically when the Mask property of the filter combo box changes.


lucasarts_18 29-06-2005 00:06:11

Hola:

No tenía idea que presionando F1 sobre el objeto seleccionado hacia un acceso directo a la ayuda...yo utilizaba el camino largo.

:p Gracias....

Saludos.
Aarón.

Bairon Kumon 29-06-2005 00:37:31

Disculpa por hacer una pregunta tan tonta, pero muchisimas gracias

Nos vemos

jachguate 29-06-2005 00:53:25

Cita:

Empezado por Bairon Kumon
Disculpa por hacer una pregunta tan tonta, pero muchisimas gracias

Nos vemos

Hola.

Quiero aclarar que la pregunta no me parece tonta. Hay muchas cosas triviales y no triviales que vienen documentadas en el help, otro buen tanto del que ya se ha hablado en estos y otros foros. Al final de cuentas, lo que se pretende aqui es que no se use el foro como primera fuente de referencia. Lo ideal es que se investigue por parte del programador... que se agote primero la búsqueda en la ayuda, en algún libro, y solo despues se acuda aqui.

Todo esto, atendiendo el hecho de que quienes participamos en los foros, tanto para preguntar como para responder lo hacemos dentro de pequeñas o grandes limitaciones de tiempo.

Hasta luego.

;)

jachguate 29-06-2005 00:57:22

Cita:

Empezado por lucasarts_18
Hola:

No tenía idea que presionando F1 sobre el objeto seleccionado hacia un acceso directo a la ayuda...yo utilizaba el camino largo.

:p Gracias....

Saludos.
Aarón.

Bueno, esto va mas allá, cuando tenes seleccionada una propiedad en el inspector de objetos, F1 te lleva directamente a la ayuda de esa propiedad.

Igualmente el F1 tiene buenas capacidades cuando estas en el editor de código, tratando de encontrar las clases/propiedades de los objetos a los que se hace referencia donde está el cursor.

Para mas ayuda, lee la ayuda de la ayuda :D

Hasta luego.

;)

Blaster 27-09-2008 23:14:15

Filtrar en tiempo de ejecución
 
Mira, los FileListBox se pueden filtrar inclusive mientras los usas. Por ejemplo:

Tienes un FileListBox de nombre: FileListBoxSimulacionImagenes
Tienes un Edit de nombre: edtFiltroBibliotecaInternaSimulacionImagenes

Pon esto en el evento OnChange del Edit:

Código Delphi [-]
procedure TfrmPrincipal.edtFiltroBibliotecaInternaSimulacionImagenesChange(
  Sender: TObject);
begin
  //Valido para que el primer caracter no sea un punto y para que el primer caracter no sea un espacio
  if (   (AnsiLeftStr(Trim(edtFiltroBibliotecaInternaSimulacionImagenes.Text), 1) = '.'   ) or (AnsiLeftStr(edtFiltroBibliotecaInternaSimulacionImagenes.Text, 1) = ' ')   )
    then
      begin
        //Limpio el edit
        edtFiltroBibliotecaInternaSimulacionImagenes.Clear;
      end;
          
  //Aqui modifico el filter del FileListBox
  FileListBoxSimulacionImagenes.Mask:= edtFiltroBibliotecaInternaSimulacionImagenes.Text + '*.sim';

  //Actualizo el FileListBox
  FileListBoxSimulacionImagenes.Update;
end;

Por último, para que no se tecleen caracteres no válidos en el filtro (el Edit) debes poner esto en el evento OnKeyPress del Edit:

Código Delphi [-]
procedure TfrmPrincipal.edtFiltroBibliotecaInternaSimulacionImagenesKeyPress(Sender: TObject; var Key: Char);
begin
  //Valido para que el primer caracter no sea un punto
  if (   Trim(AnsiLeftStr(edtFiltroBibliotecaInternaSimulacionImagenes.Text, 1)) = '.')
    then
      begin
        //Limpio el edit
        edtFiltroBibliotecaInternaSimulacionImagenes.Clear;
      end;

  //Valido para caracteres no validos
  if (Key in['/', '\', ':', '?', '¿', '*', '"', '<', '>'])
    then
      begin
        Abort;
      end;
end;

Al final tienes un FileListBox, en el cual se mostrarán los archivos de extensión *.sim, pero que además empiezen con lo que escribas en el Edit (así los encuentras más rápido).

Espero te sirva de algo.
Bye.


La franja horaria es GMT +2. Ahora son las 16:08:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi