Ignore:
Timestamp:
Mar 17, 2007, 9:47:54 PM (18 years ago)
Author:
RBRi
Message:

file util fix for the last refactoring

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NewView/FileUtilsUnit.pas

    r89 r97  
    5555
    5656  // Breaks up specified Env var path
     57  // this always clears the list at the beginning
    5758  Procedure GetDirsInPath(const aPathEnvVar: String; var aList: TStrings);
    5859
     
    6061  // them to aList
    6162  // it is possible to define different filter if you separate them by semicolon
    62   Procedure ListFilesInDirectory(const aDirectory: String; const aFilter: String; var aList: TStrings);
     63  Procedure ListFilesInDirectory(       const aDirectory : String;
     64                                        const aFilter : String;
     65                                        const aWithDirectoryFlag : boolean;
     66                                        var aList : TStrings);
    6367
    6468  // searches for all directories in aDirectory and add them to aList
     
    6771  Procedure ListFilesInDirectoryRecursiveWithTermination(const aDirectory : String;
    6872                                                         const aFilter : String;
     73                                                         const aWithDirectoryFlag : boolean;
    6974                                                         var aList : TStrings;
    7075                                                         const aTerminateCheck : TTerminateCheck;
     
    352357
    353358
    354   Procedure ListFilesInDirectory(const aDirectory: String; const aFilter: String; var aList: TStrings);
     359  Procedure ListFilesInDirectory(       const aDirectory: String;
     360                                        const aFilter: String;
     361                                        const aWithDirectoryFlag: boolean;
     362                                        var aList: TStrings);
    355363  var
    356364    tmpRC : APIRET;
     
    358366    tmpMask: String;
    359367    tmpFilterParts : TStringList;
     368    tmpDirectory : String;
    360369    i : integer;
    361370  begin
     
    366375    begin
    367376      tmpMask := tmpFilterParts[i];
    368       tmpRC := FindFirst(AddDirectorySeparator(aDirectory) + tmpMask, faAnyFile, tmpSearchResults);
     377      tmpDirectory := AddDirectorySeparator(aDirectory);
     378      tmpRC := FindFirst(tmpDirectory + tmpMask, faAnyFile, tmpSearchResults);
    369379
    370380      while tmpRC = 0 do
     
    372382        if tmpSearchResults.Attr And faDirectory = 0 then
    373383        begin
    374           aList.Add(tmpSearchResults.Name);
     384          if (aWithDirectoryFlag) then
     385          begin
     386            aList.Add(tmpDirectory + tmpSearchResults.Name);
     387          end
     388          else
     389          begin
     390            aList.Add(tmpSearchResults.Name);
     391          end;
    375392        end;
    376393
     
    412429  Procedure ListFilesInDirectoryRecursiveWithTermination(const aDirectory : String;
    413430                                                         const aFilter : String;
     431                                                         const aWithDirectoryFlag : boolean;
    414432                                                         var aList : TStrings;
    415433                                                         const aTerminateCheck : TTerminateCheck;
     
    421439  begin
    422440    // at first add all files from the directory itself
    423     ListFilesInDirectory(aDirectory, aFilter, aList);
     441    ListFilesInDirectory(aDirectory, aFilter, aWithDirectoryFlag, aList);
    424442
    425443    // now determine all subdirectories
     
    436454      tmpSubDirectory := tmpSubDirectories[i];
    437455
    438       ListFilesInDirectoryRecursiveWithTermination(tmpSubDirectory, aFilter, aList, aTerminateCheck, aUseTerminateCheck);
     456      ListFilesInDirectoryRecursiveWithTermination(tmpSubDirectory, aFilter, aWithDirectoryFlag, aList, aTerminateCheck, aUseTerminateCheck);
    439457    end;
    440458    tmpSubDirectories.Destroy;
Note: See TracChangeset for help on using the changeset viewer.