Такая проблема: необходимо осуществлять поиск файлов по нескольким маскам. Реализовал следующее:
Есть массив 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