Information générale
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Network:
Windows Server 2012
Virtual environment:
VMWare
Hi Tamar,
Thanks. I re-read the help file and it does indeed say that you get the files as well as the directories:
"Including D returns subdirectory names of the current directory in addition to file names that match the file skeleton specified..."
BTW, you mentioned the hackers guide being online - I lugged in the book to my office but having the online one would be helpful. Is the book online and free or was it a separate download way back when?
Albert
>>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