⇨ MENU ⇨ BIBLIOTHEQUE ⇨ filedlg.bbc
FN_dirscan()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ filedlg.bbc
FN_dirscan()
DESCRIPTION.
La fonction FN_dirscan() retourne dans un tableau de données les fichiers correspondant aux critères de sélection fournis.
SYNTAXE.
kelements = FN_dirscan( tableau , repertoire , extension , entete , prefixe )
REMARQUES.
tableau doit être l'identifiant d'un tableau de données, ne contenant que des chaines de caractères (type $); tableau doit avoir ete déclaré avant l'appel de la fonction FN_dirscan(), et doit pouvoir contenir un nombre d'éléments égal ou supérieur à kelements.
repertoire doit être une chaine de caractères désignant le répertoire, ou dossier, qui devra être parcouru. Il peut s'agir de n'importe quelle commande *DIR valide. Par exemple, "dir " + kchemin$ + *.*", listera tous les répertoires enfants et fichiers du répertoire kchemin$, où kchemin$ est un nom absolu de répertoire valide.
extension doit être une chaine de caractères contenant une ou plusieurs extensions, séparées par des points-virgules, déterminant le ou les types de fichiers à retourner dans tableau, par exemple ".bas;.bbc;.txt". Si extension est une chaîne vide, le filtrage sera controlé par la commande *DIR provenant de repertoire.
entete doit être une chaine de caractères qui sera ajoutée au début des noms des répertoires enfants. Il peut s'agir d'une chaîne VDU contenant une icone graphique de répertoire, d'une chaine de couleur ou simplement d'un code indiquant un répertoire. Si cette chaîne n'est pas vide, les pseudo-répertoires .., @lib$ et @usr$ sont inclus dans la liste renvoyée.
prefixe doit être une chaine de caractères qui sera ajoutée au début du nom des fichiers. Il peut s'agir d'une chaîne VDU contenant une icone graphique de fichier, d'une chaine de couleur ou simplement d'un code,qui sera supprimé ultérieurement, pour identifier un fichier.
Note ; kelements doit être l'identifiant d'une variable numérique existante, car il n'est pas possible de placer une valeur numérique litérale en début de ligne de programmation, car cela serai interprété comme un numéro de ligne, ou une ancre; par le BBC BASIC.
La fonction FN_dirscan() va retourné dans tableau les premiers kelements, de l'index 1 à l'index kelements, noms de répertoires enfants ou fichiers correspondant aux critères de sélection fournis. L'index 0 de tableau recevra repertoire comme valeur.
Rappel : les explorateurs de fichiers, créer avec le module filedlg.bbc, devant être accueillis dans une boite de dialogue, il faut impérativement installer le module dlglib.bbc avant le module filedlg.bbc, ainsi que les modules sortlib.bbc et stringlib.bbc.
Voir la fonction FN_filedlgex() qui permet de positionner librement un explorateur de fichiers dans la fenêtre de sortie.
La fonction FN_filedlgex() est importée depuis le module filedlg.bbc.
EXEMPLE.
REM --- Importation des modules ---
REM --- Module de la bibliothèque BBC BASIC ---
INSTALL @lib$ + "dlglib.bbc"
INSTALL @lib$ + "sortlib.bbc"
INSTALL @lib$ + "stringlib.bbc"
INSTALL @lib$ + "filedlg.bbc"
REM --- Chargement de la police de caracteres par defaut ---
OSCLI "FONT """ + @lib$ + "DejaVuSans"",12"
REM --- Chargement de la police de caracteres par defautC ---
DIM LST_Fichier$( 200 )
REM --- affichage d'un explorateur de fichier et selection d'un repertoire ---
kfichier$ = FN_filedlg( "Selectionnez un fichier" , "OK" , "" , "Selection parmi" , "." , 1 )
REM --- recherchee et affichage des 10 premiers elements du repertoire selectionne ---
IF kfichier$ <> "" THEN
PRINT "Vous avez selectionne " kfichier$ : PRINT
kcommande$ = "dir " + kfichier$ + ".*"
knombre = 10
knombre = FN_dirscan( LST_Fichier$() , kcommande$ , "" , "REP. : " , "fichier - " )
FOR kindex = 0 TO 10 : PRINT LST_Fichier$( kindex ) : NEXT kindex
ELSE
PRINT "Vous avez rien selectionne" : PRINT
ENDIF
REM --- Fin du programme ---
PRINT : PRINT "Au revoir."
END
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.