General information
Category:
Coding, syntax & commands
Environment versions
Network:
Windows Server 2012
Virtual environment:
VMWare
>Hi all,
>
>Back looking at the GetDirectoryTree() function - in the current one I have (based on code by Doug Hennig and Tamar), the code does a CD to change to the appropriate directory first (at least the code that I have - they might have improved it later). (it seems to me that "CD" is kinda a "klunky" way to do this).
>
>But I thought, is there no way to get a list of directories using ADIR with also a file path as the "base" folder to start with? It seems not - not unless I have not yet figured out how to call ADIR()
>
>This works (their code):
>
>CD (tcBasePath)
>ADIR(laTest,[],"D")
>
>These did not work (i.e. no change of directory first) as they always returned no folders or both the files and folders in that directory:
>
>ADIR(laTest,"F:\Office\Templates","D")
>ADIR(laTest,"F:\Office\Templates\","D")
>ADIR(laTest,"F:\Office\Templates\*","D")
>
>It seems as though ADIR() is not respecting the "D" argument - unless that means "folders in ADDITION to the files.
>
Here's what we said in the Hacker's Guide (and yes, we marked it with a bug icon):
In VFP 5 and earlier, you could get a list of sub-directories for a specified directory by passing the path and a single asterisk for the file name, like this:
ADIR(aSubDirs, cPath + "*", "D")
This approach doesn't work in VFP 6 and later—that call results in a list containing both files and directories. In those versions, you have to change to the directory of interest and then pass the empty string for the path, like this:
CD (cPath)
ADIR(aSubDirs, "", "D")
Tamar
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only