Модуль: Masks
Описание
Функция проверяет, соответствует ли файл FileName маске, определенной в параметре Mask. При сравнении регистр символов не учитывается.
Маска может состоять из литеральных символов, множеств или групповых символов.
Каждый литеральный символ должен соответствовать одиночному символу в строке.
Каждое множество должно заключаться в квадратные скобки [ ]. Элементом множества может быть литеральный символ или диапазон значений. Диапазон должен иметь начальное и конечное значения. Вместо начального значения диапазона может стоять символ '-'.
Множество должно соответствовать одиночному символу строки FileName. Символ соответствует множеству, если он соответствует одному из символов множества или входит в заданный диапазон (символ входит в диапазон, если он соответствует начальному или конечному значению диапазона, или находится между ними). Если во множестве после открывающей скобки стоит знак восклицания '!', то сравниваемый символ не должен соответствовать ни одному символу множества (т.е. результат сравнения положительный, если сравниваемый символ не принадлежит множеству).
Групповые символы - это символ звездочки '*' и знак вопроса '?'. Звездочка означает любое количество допустимых символов, а '?'- любой одиночный символ.
Функция возвращает True, если имя файла соответствует маске, и False, если не соответствует. Если указана недопустимая маска, то возникает исключение. С помощью функции MatchesMask можно проверить любую строку, а не только имя файла на соответствие заданной маске.
Пример
if MatchesMask(FileName, '*.txt')
then
MessageDlg('Текстовый файл', mtInformation, [mbOk], 0)
else
if MatchesMask(FileName, '*.exe')
then
MessageDlg('Выполняемый файл', mtInformation, [mbOk], 0)
else
MessageDlg('Неизвестный файл', mtInformation, [mbOk], 0)