Changeset 97 for trunk/NewView/FileUtilsUnit.pas
- Timestamp:
- Mar 17, 2007, 9:47:54 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NewView/FileUtilsUnit.pas
r89 r97 55 55 56 56 // Breaks up specified Env var path 57 // this always clears the list at the beginning 57 58 Procedure GetDirsInPath(const aPathEnvVar: String; var aList: TStrings); 58 59 … … 60 61 // them to aList 61 62 // 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); 63 67 64 68 // searches for all directories in aDirectory and add them to aList … … 67 71 Procedure ListFilesInDirectoryRecursiveWithTermination(const aDirectory : String; 68 72 const aFilter : String; 73 const aWithDirectoryFlag : boolean; 69 74 var aList : TStrings; 70 75 const aTerminateCheck : TTerminateCheck; … … 352 357 353 358 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); 355 363 var 356 364 tmpRC : APIRET; … … 358 366 tmpMask: String; 359 367 tmpFilterParts : TStringList; 368 tmpDirectory : String; 360 369 i : integer; 361 370 begin … … 366 375 begin 367 376 tmpMask := tmpFilterParts[i]; 368 tmpRC := FindFirst(AddDirectorySeparator(aDirectory) + tmpMask, faAnyFile, tmpSearchResults); 377 tmpDirectory := AddDirectorySeparator(aDirectory); 378 tmpRC := FindFirst(tmpDirectory + tmpMask, faAnyFile, tmpSearchResults); 369 379 370 380 while tmpRC = 0 do … … 372 382 if tmpSearchResults.Attr And faDirectory = 0 then 373 383 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; 375 392 end; 376 393 … … 412 429 Procedure ListFilesInDirectoryRecursiveWithTermination(const aDirectory : String; 413 430 const aFilter : String; 431 const aWithDirectoryFlag : boolean; 414 432 var aList : TStrings; 415 433 const aTerminateCheck : TTerminateCheck; … … 421 439 begin 422 440 // at first add all files from the directory itself 423 ListFilesInDirectory(aDirectory, aFilter, a List);441 ListFilesInDirectory(aDirectory, aFilter, aWithDirectoryFlag, aList); 424 442 425 443 // now determine all subdirectories … … 436 454 tmpSubDirectory := tmpSubDirectories[i]; 437 455 438 ListFilesInDirectoryRecursiveWithTermination(tmpSubDirectory, aFilter, a List, aTerminateCheck, aUseTerminateCheck);456 ListFilesInDirectoryRecursiveWithTermination(tmpSubDirectory, aFilter, aWithDirectoryFlag, aList, aTerminateCheck, aUseTerminateCheck); 439 457 end; 440 458 tmpSubDirectories.Destroy;
Note:
See TracChangeset
for help on using the changeset viewer.