Lire dossier

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Actions > Sources de pages >

Lire dossier

Lorsqu'une action Lire dossier (voir capture d'écran ci-dessous) est ajoutée au design, la source de page $MT_FILEINFO, qui est structurée en tant qu'un ensemble des éléments répétitifs File, est créée dans le design. Dans l'action Lire dossier, vous spécifiez le dossier que vous souhaitez lire (voir capture d'écran et exemple ci-dessous). Lors de l'exécution, les contenus du dossier spécifié (fichiers et sous-dossiers) sont lus et les détails de chaque item du dossier cible sont placés dans un élément File correspondant de la source de page $MT_FILEINFO.

MTActionReadFolder

Noter les points suivants :

 

Le dossier peut être spécifié soit en le cherchant soit en le saisissant dans une expression XPath qui évalue en un string qui est le chemin vers le dossier cible.
Si l'option de Récursion dans les sous-dossiers est cochée, les fichiers et les sous-dossiers dans les sous-dossiers récursifs sont lus. Sinon, seuls les items dans le dossier spécifié sont lus.
Si l'option de Récursion dans les sous-dossiers est cochée, l'option pour inclure des répertoires vides sera disponible. Cela permet d'inclure des informations concernant des dossiers vides dans les données qui sont lues.
Les paramètres Motif de fichier utilise des caractères génériques pour filtrer quels fichiers d'un dossier sont lus. Par exemple : '*.mp3' lit les détails de tous les fichiers .mp3 dans le dossier ; 'My*.*' lit les détails de tous les fichiers qui portent des noms commençant avec le caractère My et prennent tout suffixe ; '*' ou '' lit tout le dossier. Si la récursion dans des sous-dossiers a été activée, le motif est appliqué récursivement dans des sous-dossiers.
Pour saisir plusieurs motifs de fichier, l'expression XPath doit être une séquence d'items de string, dont chacun spécifie un motif unique. Par exemple : ("*.xml", "*.txt").
Alors que l'action Lire Dossier fournit des informations à propos des fichiers et sous-dossiers du dossier cible, elle ne fournit pas d'informations concernant le dossier cible lui-même. Pour obtenir des détails du dossier lui-même, soumettre le nom du dossier dans l'action Obtenir info de fichier.
Chaque page contient une source de page $MT_FILEINFO. Donc, s'il existe plusieurs actions Lire dossier sur une page, au moment de l'exécution, $MT_FILEINFO contiendra à tout moment des informations concernant le dossier qui a été lu par la dernière action Lire ayant été déclenchée.
La source de page $MT_FILEINFO est aussi remplie avec des données obtenues par l'action Obtenir info de fichier. Alors que les données lues par l'action Lire dossier sont transférées aux éléments enfant File de $MT_FILEINFO/Root, les données lues par l'action Obtenir info de fichier sont transférées aux attributs de $MT_FILEINFO/Root .
La source de page $MT_FILEINFO est créée soit lorsqu'une action Lire Dossier ou une action Obtenir info de fichier est ajoutée, selon ce qui est ajouté en premier.

 

Exemple

Un fichier d'exemple nommé ReadFolderGetFileInfo.mtd montre comment utiliser l'action Lire dossier (voir capture d'écran de la simulation ci-dessous). Ce fichier est disponible dans le dossier (Mes) Documents Altova\MobileTogetherDesigner5\MobileTogetherDesignerExamples\Tutorials\Actions.

Click to expand/collapse

L'exemple fonctionne comme suit :

 

L'utilisateur final saisit le nom d'un dossier dans le champ d'édition situé à gauche du bouton Lire dossier.
Le nom du dossier est écrit dans le nœud Path de l'arborescence $PERSISTENT (voir capture d'écran).
Une action Lire dossier a été définie pour l'événement SurClicDeBouton du bouton Lire dossier. L'action cible le dossier stocké dans $PERSISTENT/Root/Path.
En cliquant Lire dossier, les données concernant les items du dossier sont lues et transmises aux éléments File de $MT_FILEINFO.
Chaque élément File est affiché dans le design en tant que la ligne répétitive d'une table.

 


© 2019 Altova GmbH