Class TFileFilterList

Unit

Declaration

type TFileFilterList = class(specialize TObjectList<TFileFilter>)

Description

Hierarchy

Overview

Methods

Public constructor Create(AFreeObjects: boolean);
Public procedure AddFilter(const Name: string; const Patterns: array of string);
Public procedure AddFiltersFromString(const FiltersStr: string);
Public function Matches(const URL: String): Boolean; overload;
Public class function Matches(const FiltersStr, URL: String): Boolean; overload;
Public function AllExtensions: String;

Properties

Public property DefaultFilter: Integer read FDefaultFilter write FDefaultFilter default 0;

Description

Methods

Public constructor Create(AFreeObjects: boolean);
 
Public procedure AddFilter(const Name: string; const Patterns: array of string);

Add one file filter, selectable by user.

Parameters
Name
Is a name displayed for for user.
Patterns
Each string in Patterns is a pattern using * and ? matching characters.
Public procedure AddFiltersFromString(const FiltersStr: string);

An easy way to add multiple filters encoded in a single string. Filters are separated by '|' (bar character). Each filter has a name, separated from patterns list also by '|'. If filter name starts with '*', it's set as a default filter. Patterns are separated by ';' (semicolon character).

As you can see, this prevents some special characters from appearing in names and patterns. For maximum flexibility, don't use this function, use AddFilter.

For example All files (*)|*|All images (*.png;*.jpg)|*.png;*.jpg|PNG images (*.png)|*.png

Not finished pairs of name + pattern at the end of the string are ignored. In particular, empty string is unfinished (actually, it contains an empty Name, and is unfinished because there is no |, so no matching Pattern) so empty string causes no filters to be added.

Public function Matches(const URL: String): Boolean; overload;

One of the filtes (excluding "catch all" filters) matches given URL. This excludes masks like "*" and "*.*" (the latter should not really be used, because it will not match all files on Unix).

Public class function Matches(const FiltersStr, URL: String): Boolean; overload;

Whether the filters described in FiltersStr (like for AddFiltersFromString) match the given URL.

Public function AllExtensions: String;

Writes all recognized extensions (without * and *.*) separated by semicolon.

Properties

Public property DefaultFilter: Integer read FDefaultFilter write FDefaultFilter default 0;

Index of default filter, selected by default for user when using this filters list.


Generated by PasDoc 0.16.0.