ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

aSubFolders() - tableau des sous-dossiers d'un dossier   



L'auteur

FoxInCloud (Th. Nivelet)
France France
Membre Simple
# 0000000014
enregistré le 13/10/2004

http://www.foxincloud.com/
Nivelet Thierry
75016 Paris
de la société Abaque
Fiche personnelle


Note des membres
pas de note

Contributions > 01 - PRG : Programmation > Tableaux / Array

aSubFolders() - tableau des sous-dossiers d'un dossier
# 0000000018
ajouté le 21/10/2004 09:51:35 et modifié le 30/03/2005
consulté 5149 fois
Niveau débutant

Description
Suivant la convention des fonctions tableau VFP, cette fonction retourne :
- le nombre de sous-dossiers dans un dossier
- un tableau contenant le nom de chaque sous-dossier trouvé (dans le premier paramètre à passer par référence)

Ce code illustre l'utilisation de la SUBSTITUTION DE NOM :
SET DEFAULT TO (m.lcDefault)
par opposition à la MACRO SUBSTITUTION
SET DEFAULT TO &lcDefault && ne fonctionne pas si lcDefault contient des espaces et n'est pas encadré par des guillemets


Code source :
FUNCTION aSubFolders && Tableau des sous-dossiers d'un dossier
    LPARAMETERS ;
        taSubFolders,; && @ Tableau à remplir
        tcFolderAddr && Adresse du dossier où rechercher les sous-dossiers
    LOCAL lnResult && Nombre de sous-dossiers trouvés
    m.lnResult = 0

    EXTERNAL ARRAY m.taSubFolders && pour le gestionnaire de projet

    * Si les paramètres requis sont valides
    LOCAL llParm1, llParm2
    m.llParm1 = Type("alen(m.taSubFolders)")=='N'
    ASSERT m.llParm1 MESSAGE Program() + ": Le premier paramètre doit être un tableau"
    m.llParm2 = Vartype(m.tcFolderAddr)=='C' AND Directory(m.tcFolderAddr)
    ASSERT m.llParm2 MESSAGE Program() + ": Adresse de dossier invalide : " + Transform(m.tcFolderAddr)
    IF m.llParm1 AND m.llParm2

        * Remplir le tableau des sous-dossiers
        LOCAL lcDefault
        m.lcDefault = FullPath(Curdir())
        SET DEFAULT TO (m.tcFolderAddr)
        m.lnResult = ADir(taSubFolders, Space(0), 'D'&& space(0) makes aDir() return Folders
        SET DEFAULT TO (m.lcDefault)
    ENDIF

    RETURN m.lnResult
Commentaires
Aucun commentaire enregistré ...

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2018.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0