Information générale
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
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
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement