Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ MENU ⇨ BIBLIOTHEQUE ⇨ filedlg.bbc

FN_dirscanex()

DESCRIPTION.


La fonction FN_dirscanex() retourne dans un tableau de données les fichiers correspondant aux critères de sélection fournis.




SYNTAXE.


kelements = FN_dirscanex( tableau , repertoire , extension , entete , prefixe , option )




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_dirscanex(), 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.


option peut valoir : 

- 0, pour désactiver toutes les options ;

- 256 (&100) pour exclure le répertoire parent (..) de la liste ;

- 512 (&200) pour exclure le répertoire @lib$ de la liste ;

- 1024 (&400) pour exclure le répertoire @usr$ de la liste.


Rappel : il est possible de combiner plusieurs option en additionnant les valeurs des options respectifs. Par exemple : 1536 (&600), combine les valeurs &200 et &400, ce qui cache les indications @lib$ et @usr$.



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_dirscanex() 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 - " , &600 )

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

vos remarques, vos commentaires et de vos suggestions.

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.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse