PostHeaderIconDelphi. Функция MatchesMask ( const FileName, Mask: string ): Boolean;

Функция MatchesMask ( const FileName, Mask: string ): Boolean;

Модуль: 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)

 
Copyright © 2007-2010 IsIProg.ru. All Rights Reserved.