Leer carpeta
Cuando se añade una acción Leer carpeta al diseño (imagen siguiente), se crea también la fuente de página $MT_FILEINFO, que está estructurada como un conjunto de elementos File repetidos. En la acción Leer carpeta puede especificar qué carpeta desea leer. En tiempo de ejecución, el contenido de la carpeta especificada (archivos y subcarpetas) se leen y los metadatos de cada archivo y subcarpeta de la carpeta de destino se colocan en un elemento File de la fuente de página $MT_FILEINFO.
Debe tener en cuenta estos aspectos de la acción Leer carpeta:
•La carpeta se puede especificar navegando hasta ella o introduciendo una expresión XPath que resulte en una cadena que sea la ruta de acceso a la carpeta de destino. Solamente se leen los archivos de la carpeta especificada. Los archivos de las subcarpetas no se leen.
Si marca la opción Ejecutar recursivamente en subcarpetas, entonces sí se leen los archivos y las subcarpetas que se encuentren en las subcarpetas.
•Si marca la opción Ejecutar recursivamente en subcarpetas, entonces se habilita la opción de incluir directorios vacíos. Esto permite que se incluya información sobre las carpetas vacías en los datos que se leen.
•La opción Patrón de archivo usa comodines para filtrar los archivos que se deben leer de una carpeta. Por ejemplo: '*.mp3' lee los datos de todos los archivos .mp3 de la carpeta; 'Mi*.*' lee los datos de todos los archivos cuyo nombre empiece con los caracteres Mi y que tengan cualquier tipo de sufijo; '*' o '' lee la carpeta entera. Si se habilita la opción Ejecutar recursivamente en subcarpetas el patrón se aplica a las subcarpetas de forma recursiva.
•Para introducir varios patrones de archivos la expresión XPath debe ser una secuencia de cadenas, cada una de las cuales indica un patrón individual. Por ejemplo:("*.xml", "*.txt").
•La acción Leer carpetas proporciona información sobre los archivos y las subcarpetas de la carpeta de destino, pero no da ninguna información sobre la propia carpeta de destino. Para detalles sobre la misma debe indicar el nombre de la carpeta en la acción Obtener información de archivo.
•Cada página contiene una fuente de página $MT_FILEINFO. Por tanto, si hay varias acciones Leer carpeta en una página, en tiempo de ejecución $MT_FILEINFO siempre contendrá información sobre la carpeta que leyó la última acción Leer carpeta que se desencadenó.
•La fuente de página $MT_FILEINFO también se rellena con datos obtenidos por la acción Obtener información de archivo. Los datos leídos por la acción Leer carpeta pasan a los elementos secundarios Archivo de $MT_FILEINFO/Root, los datos leídos por la acción Obtener información de archivo pasan a los atributos de $MT_FILEINFO/Root.
•La fuente de página $MT_FILEINFO se crea al añadir una acción Leer carpeta u Obtener información de archivo, la que se añada primero.
Ejemplo
El archivo de ejemplo ReadFolderGetFileInfo.mtd demuestra el funcionamiento de la acción Leer carpeta (imagen siguiente). Este archivo está en la carpeta Altova\MobileTogetherDesigner10\MobileTogetherDesignerExamples\Tutorials\Actions de la carpeta (Mis) Documentos.
Así funciona este ejemplo:
•El usuario final introduce el nombre de una carpeta en el campo de edición situado a la izquierda del botón Read Folder (Leer carpeta).
•El nombre de la carpeta se escribe en el nodo Path de la estructura $PERSISTENT (imagen anterior).
•El botón Read Folder (Leer carpeta) tiene configurada una acción Leer carpeta para su evento AlHacerClicEnBotón. Esta acción apunta a la carpeta que está almacenada en el nodo $PERSISTENT/Root/Path.
•Cuando el usuario hace clic en el botón Read Folder (Leer carpeta), los datos disponibles sobre los elementos de la carpeta se leen y se pasan a los elementos File de la estructura $MT_FILEINFO.
•Cada elemento File aparece en el diseño en forma de fila extensible de una tabla.
Funciones de extensión de MobileTogether
MobileTogether cuenta con distintas funciones de extensión XPath creadas específicamente para usarlas en los diseños de MobileTogether. Algunas de ellas son especialmente útiles para ciertas acciones en concreto. Por ejemplo, mt-available-languages() devuelve los idiomas en que está disponible la solución y se podría usar, por ejemplo, con la acción Cuadro de mensaje. Si alguna función es especialmente relevante para esta acción, aparece a continuación. Para ver una lista completa de funciones de extensión y sus descripciones consulte Funciones de extensión de MobileTogether.