Blog

Caminemos por la senda más corta

V7, debido principalmente a su funcionamiento en multi-plataforma, ha generado importantes cambios en la gestión de las sendas y directorios. Además se ha mejorado la funcionalidad de instrucciones de proceso heredadas de Velneo 6.x añadido otras nuevas.

Especificación de sendas

A partir de ahora, para la especificación de sendas en nuestras fórmulas debemos pensar en multi-plataforma, y no solamente en Windows como ocurre en Velneo 6.x; pues, por ejemplo, no es lo mismo la representación del directorio raíz en Windows que en Linux.

Para facilitar la composición de sedas absolutas independientemente del sistema operativo se han creado las siguientes funciones de fórmulas:

rootPath(): Devuelve la senda del directorio raíz de la máquina. Ejemplo: c:\ en Windows y / en Linux.

homePath(): Devuelve la senda del directorio del usuario (C:\Documents and Settings\nombre_usuario en Windows y /home/nombre_usuario en Linux).

Para separar cada directorio en la especificación de una senda, se usa la barra de división (/); en Velneo 6.x recordemos que hay que escribir por duplicado la barra de directorios (\\) para diferenciarlo de una secuencia de escape, pues las secuencias de escape en las fórmulas van precedidas del carácter \.

Ejemplo: Si en una fórmula queremos identificar un fichero llamado fichero.ext que se encuentra alojado en una carpeta llamada files dependiente del directorio raíz, en Velneo 6.x escribiremos lo siguiente en la fórmula: «c:\\files\\fichero.txt» y en V7: rootPath() + «files/fichero.ext»; al hacerlo de esta forma será válido para cualquier plataforma.

Mejora de funcionalidad

A parte de las mejoras de funcionalidad comentadas en los puntos anteriores, ha habido notables mejoras en varias instrucciones de proceso.

La instrucción DirSearch. Dicha instrucción en Velneo 6.x actúa sobre el directorio en curso, por tanto, si se quiere procesar el contenido de un directorio concreto hay que hacer:

– Cambiar el directorio actual por el directorio a procesar.

– Procesar el directorio.

– Volver a cambiar el directorio por el anterior.

Esta instrucción en V7 se llama Recorrer directorio e incluye un nuevo parámetro, que es el directorio a procesar, es decir, que en V7 podemos recorrer un directorio directamente, sin hacer cambio de directorio alguno.

En Velneo 6.x, si queremos hacer recursivo el recorrido de un directorio (que se procesen también los subdirectorios) debemos programar un proceso recursivo, que se vaya llamando a sí mismo hasta llegar al último nivel de directorio. En V7, esto se consigue simplemente activando la opción Recursivo de la instrucción Recorrer directorio.

En Velneo 6.x para crear o eliminar una senda de varios niveles debemos ir creando/elminando los directorios de uno en uno, es decir, utilizar tantas veces la instrucción Crear directorio/Eliminar directorio como niveles tenga la senda (en un proceso recursivo, dentro de un bucle For, etc.). En V7 ambas instrucciones incorporan el parámetro Senda completa que, si está activado, nos permite crear/eliminar la senda completa usando una única línea de proceso.

Nuevas funciones de fórmulas e instrucciones de proceso

Nuevas funciones de fórmulas, además de las ya comentadas anteriormente:

SetCurrentDir(senda): Cambia el directorio por defecto.

TempPath(): Devuelve el directorio para archivos temporales.

Nuevas instrucciones de proceso:

Renombrar directorio.

Ventana de selección de directorio.

8 thoughts on “Caminemos por la senda más corta

  1. Entonces, si no he entendido mal, si estamos desarrollando una aplicación multiplataforma y tenemos accesos tanto a rutas windows como a rutas linux, deberemos comprobar antes sobre que sistema estaremos trabajando, ¿existirá alguna instrucción para comprobar sobre que sistema operativo está ejecutándose la aplicación para determinar si usar «\\» o «/» ?

    Saludos,

    Darío Plaza

  2. A Darío Plaza:

    Creo que mi explicación no ha sido todo lo clara que debiera. Te pido disculpas por ello.

    Aclarar que es todo lo contrario, lo hemos diseñado de tal forma que no haya que evaluar en los procesos si se está ejecutando en uno u otro sistema operativo. Por ejemplo, si yo quiero crear los directorios “gestion\documentos” dentro del directorio raíz, en la fórmula lo indicaré de la siguiente manera:

    rootPath() + “gestion/documentos”

    Es decir, en V7, cuando tengamos que escribir sendas en las fórmulas, siempre usaremos como separador de directorios el carácter /.

    Un saludo.

    rcueto

Dejar un comentario