home *** CD-ROM | disk | FTP | other *** search
- unit dirfind;
- { a unit to make searching for subdirectories a bit easier, since DOS won't
- do an exclusive directory search }
- { released into the public domain 24-OCT-88 by Bob Hodge,
- Country Basket Software }
-
- {The two functions work much like Turbo's FindFirst & FindNext procedures,
- but return a boolean to make your program logic a little smoother }
- { It works for me, at least! }
-
- interface
-
- uses DOS;
-
- function FindFirstDir( source : string; var SearchDTA : searchrec ): boolean ;
- { returns TRUE if a directory was found, FALSE otherwise }
- { (of course, SearchDTA will be modified as well) }
-
- function FindNextDir( var SearchDTA : searchrec): boolean;
-
- { ************************************************************************** }
- implementation
-
- function FindNextDir{( var SearchDTA : searchrec): boolean};
- begin
- FindNext( SearchDTA);
- while (DosError = 0) AND ((SearchDTA.Attr AND Directory) = 0) do
- FindNext( SearchDTA);
- if DosError = 0 then
- FindNextDir := TRUE
- else
- FindNextDir := FALSE;
- end;
-
-
- function FindFirstDir{( source : string; var SearchDTA : searchrec ): boolean};
- begin
- FindFirst( source, Directory + Hidden, SearchDTA);
- while (DosError = 0) AND ((SearchDTA.Attr AND Directory) = 0) do
- FindNext( SearchDTA);
- if DosError = 0 then
- FindFirstDir := TRUE
- else
- FindFirstDir := FALSE;
- end;
-
- end.