Все файлы одинакого расширения[delphi]

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by marcos, 3 Feb 2010.

  1. marcos

    marcos New Member

    Joined:
    8 Nov 2009
    Messages:
    111
    Likes Received:
    1
    Reputations:
    -5
    Всем привет! Подскажите как вывести в memo1 все файлы одного расширения на компьютере?
     
  2. sn0w

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    1,021
    Likes Received:
    1,200
    Reputations:
    327
    FindFirstFile/FindNextFile с соответствующими масками

    вообще есть API и наскока помню в билдере оно в помощи идет. если речь о дельфи - незнаю, но должна быть.
    есть мсдн также - но там обпаскаля нет
     
  3. xafon

    xafon New Member

    Joined:
    2 Dec 2009
    Messages:
    38
    Likes Received:
    4
    Reputations:
    0
    Процедура которая ищет на компьютере файлы с определённым расширением.

    Code:
     procedure FindFiles(StartFolder, Mask: string; List: TStrings;
      ScanSubFolders: Boolean = True);
    var
      SearchRec: TSearchRec;
      FindResult: Integer;
    begin
      List.BeginUpdate;
      try
        StartFolder := IncludeTrailingBackslash(StartFolder);
        FindResult := FindFirst(StartFolder + '*.*', faAnyFile, SearchRec);
        try
          while FindResult = 0 do
            with SearchRec do
            begin
              if (Attr and faDirectory) <> 0 then
              begin
                if ScanSubFolders and (Name <> '.') and (Name <> '..') then
                  FindFiles(StartFolder + Name, Mask, List, ScanSubFolders);
              end
              else
              begin
                if MatchesMask(Name, Mask) then
                  List.Add(StartFolder + Name);
              end;
              FindResult := FindNext(SearchRec);
            end;
        finally
          FindClose(SearchRec);
        end;
      finally
        List.EndUpdate;
      end;
    end;