Показать сообщение отдельно
  #1  
Старый 28.01.2009, 01:20
depth depth вне форума
Прохожий
 
Регистрация: 06.05.2007
Сообщения: 3
Репутация: 10
По умолчанию Поиск файлов и TMask

Такая проблема: необходимо осуществлять поиск файлов по нескольким маскам. Реализовал следующее:
Есть массив MaskList: array of TMask
устанавливаю его размер согласно списка масок
SetLength(MaskList,MCount);
Заполняю значениями масок из списка
Код:
for i:=0 to fmOption.lbMasks.Items.Count-1 do
   if fmOption.lbMasks.Checked[i] then begin
          MaskList[MCount]:=TMask.Create(fmOption.lbMasks.Items.Strings[i]);
          Inc(MCount);
   end;//if
end;
Далее идёт поиск файлов и сравнение с масками
Код:
function TfmMain.InExcept(FName:String):Boolean;
var
i:integer;
begin
result:=false;
for i:=0 to High(MaskList) do
     if  MaskList[i].Matches(FName) then Result:=True;
end;
если результат True - файл подходит. Но почему-то данный метод не работает. Непроходит ни один файл, даже заданные полностью (без * и ?). Если кто сможет разобратся, подскажите, что не так делаю.
P.S. Delphi 7
Ответить с цитированием