Changeset 238 for trunk/Library/FileUtilsUnit.pas
- Timestamp:
- Sep 16, 2007, 9:44:46 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Library/FileUtilsUnit.pas
r235 r238 94 94 95 95 // searches for all directories in aDirectory and add them to aList 96 Procedure ListSubDirectories(const aDirectory: String; var aList: TStrings);96 Procedure ListSubDirectories(const aDirectory: String; const anIncludeSystemAndHiddenFlag: boolean; var aList: TStrings); 97 97 98 98 Procedure ListFilesInDirectoryRecursiveWithTermination(const aDirectory : String; 99 99 const aFilter : String; 100 100 const aWithDirectoryFlag : boolean; 101 const anIncludeSystemAndHiddenFlag: boolean; 101 102 var aList : TStrings; 102 103 const aTerminateCheck : TTerminateCheck; … … 112 113 113 114 114 115 // Checks if a directory exists 115 116 Function DirectoryExists(const aDirectory : String) : boolean; 116 117 … … 502 503 503 504 504 Procedure ListSubDirectories(const aDirectory: String; var aList: TStrings);505 Procedure ListSubDirectories(const aDirectory: String; const anIncludeSystemAndHiddenFlag: boolean; var aList: TStrings); 505 506 var 506 507 tmpRC : APIRET; 507 508 tmpSearchResults: TSearchRec; 508 509 tmpName : String; 509 begin 510 511 tmpRC := FindFirst(AddDirectorySeparator(aDirectory) + '*', faDirectory or faMustDirectory, tmpSearchResults); 510 tmpFileAttributes : ULONG; 511 begin 512 513 if anIncludeSystemAndHiddenFlag then 514 begin 515 tmpFileAttributes := faArchive or faReadonly or faHidden or faSysFile or faDirectory or faMustDirectory; 516 end 517 else 518 begin 519 tmpFileAttributes := faArchive or faReadonly or faDirectory or faMustDirectory; 520 end; 521 522 tmpRC := FindFirst(AddDirectorySeparator(aDirectory) + '*', tmpFileAttributes, tmpSearchResults); 512 523 if (tmpRC <> 0) then 513 524 begin … … 531 542 const aFilter : String; 532 543 const aWithDirectoryFlag : boolean; 544 const anIncludeSystemAndHiddenFlag: boolean; 533 545 var aList : TStrings; 534 546 const aTerminateCheck : TTerminateCheck; … … 544 556 // now determine all subdirectories 545 557 tmpSubDirectories := TStringList.Create; 546 ListSubDirectories(aDirectory, tmpSubDirectories);558 ListSubDirectories(aDirectory, anIncludeSystemAndHiddenFlag, tmpSubDirectories); 547 559 548 560 for i := 0 to tmpSubDirectories.Count - 1 do … … 555 567 tmpSubDirectory := tmpSubDirectories[i]; 556 568 557 ListFilesInDirectoryRecursiveWithTermination(tmpSubDirectory, aFilter, aWithDirectoryFlag, aList, aTerminateCheck, aUseTerminateCheck); 569 ListFilesInDirectoryRecursiveWithTermination( tmpSubDirectory, 570 aFilter, 571 aWithDirectoryFlag, 572 anIncludeSystemAndHiddenFlag, 573 aList, 574 aTerminateCheck, 575 aUseTerminateCheck); 558 576 end; 559 577 tmpSubDirectories.Destroy; … … 653 671 end; 654 672 655 tmpRC := FindFirst(tmpDirectory, faDirectory or faMustDirectory, tmpSearchResults); 673 tmpRC := FindFirst( tmpDirectory, 674 faArchive or faReadonly or faHidden or faSysFile or faDirectory or faMustDirectory, 675 tmpSearchResults); 656 676 if tmpRC = 0 then 657 677 begin
Note:
See TracChangeset
for help on using the changeset viewer.