- 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 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
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 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