function Files_ToStrings(List: TStrings;
                         FullNameMask:string = '*.*';
                         YesFileNamesOnly:boolean=true
                        ):integer;
// Прочитать список файлов по маске в TStrings
Var
 sDir,sMask,NameF: string;
 DirInfo: TSearchRec;
 Err: integer;
begin
  Result := 0;
  if Assigned(List) then begin
     List.Clear;
     FullNameMask := trim(FullNameMask);
     if FullNameMask<>'' then begin
        sDir:=trim(ExtractFilePath(FullNameMask));
        if DirectoryExists(sDir) then begin
           sMask := trim(ExtractFileName(FullNameMask));
           if sMask='' then sMask := '*.*';
           Err := 0;
           Err := FindFirst(sDir + sMask, { faArchive } faAnyFile, DirInfo);
           while Err = 0 do
            begin
              NameF := DirInfo.Name;
              if FileExists(sDir + NameF) then begin
                 if YesFileNamesOnly then begin
                    List.Add(NameF);
                 end
                 else begin
                    List.Add(sDir+NameF);
                 end;
              end;
              Err := FindNext(DirInfo);
              Application.ProcessMessages;
           end;
           FindClose(DirInfo);
           Result := List.Count;
        end;
     end;
  end;
end;