How can I show only certain file extensions in an open-file dialog?

Andras Kelemen picture Andras Kelemen · Nov 28, 2011 · Viewed 13.1k times · Source

When I open a folder with an OpenDialog, how can I filter it so users can view only certain files (e.g., Stringgrid, *.sg) and the files with any other extension do not appear in the dialog window?

Answer

Ken White picture Ken White · Nov 28, 2011

Set the OpenDialog.Filter property to the file filter you want.

You can do this in the Object Inspector:

  • Click in the Filter property, and you'll see a small button appear on the right edge with ....
  • Click that, and you'll see a dialog appear.

On the left side is the description of the file (for instance, Excel files (*.xls)). The right side is the filter you want to use, as in *.xls.

OpenDialog Filter Dialog

You can also set it in code before displaying your dialog:

OpenDialog1.Filter := 'Excel files (*.xls)|*.xls';

Of course, replace the Excel stuff with any description and mask you want to use.