Ficheros
Grupo de comandos de instrucción que nos permiten operar con ficheros en disco.
¿Existe fichero?
Comando de instrucción del grupo Ficheros y directorios que informa de la existencia de un fichero del disco.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Fórmula de senda
Senda del fichero cuya existencia queremos determinar. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional)
El comando retornará true (1) en esta variable local si el fichero existe o false (0) si no existe en disco.
Identificador de variable local numérica de retorno de tamaño en bytes (Opcional)
Variable local en la que el comando retornará el tamaño del fichero (bytes) si éste existe.
Funcionalidad
Comprueba la existencia de un fichero en disco, devolviendo el tamaño de éste en bytes.
Comentarios
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Ejemplo
Comprobamos si existe el directorio documentostmp en la caché del cliente y en caso de no existir lo creamos.
Copiar fichero
Comando de instrucción del grupo Ficheros y directorios que copia un fichero en disco.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Fórmula de senda de origen
Senda del fichero que queremos copiar. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Fórmula de senda de destino
Senda del fichero copia que ha de incluir el nombre del fichero. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional)
El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad
Copia el fichero de origen en la senda de destino.
Comentarios
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Ejemplo
Copiamos el fichero original.pdf a original_copia.pdf dentro de la caché el cliente.
Eliminar fichero de disco
Comando de instrucción del grupo Ficheros y directorios que elimina un fichero del disco.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Fórmula de senda
Senda del fichero que queremos eliminar. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional)
El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad
Elimina un fichero en disco.
Comentarios
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Ejemplo
Eliminamos el fichero original.pdf de la caché del cliente en caso de que exista.
Fichero: abrir
Comando de instrucción del grupo Ficheros y directorios que abre un fichero para lectura o escritura.
Origen de la instrucción: cualquiera.
Destino del subproceso: el mismo que el origen.
Parámetros
Manejador de fichero
Identificador del fichero. Nos permite referenciarlo a la hora de realizar operaciones de lectura o escritura.
Fórmula de senda
Senda del fichero que queremos leer o escribir. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Modo de apertura
Indicaremos qué operaciones realizaremos con el fichero abierto:
Lectura/escritura: realizaremos operaciones de lectura y escritura en un fichero ya existente.
Lectura/escritura (Crea o agrega): realizaremos operaciones de lectura y escritura en un fichero. Si existe el fichero previamente añade la información a la existente, si no existe crea el fichero.
Lectura/escritura (Crea o limpia): realizaremos operaciones de lectura y escritura en un fichero. Si existe el fichero previamente lo sobreescribe borrando la información previa, si no existe crea el fichero.
Lectura/escritura en modo texto: similar al modo de apertura "Lectura y escritura" pero además hace que en Windows convierta los terminadores de línea (\n) en (\r\n).
Lectura/escritura en modo texto (Crea o agrega): similar al modo de apertura "Lectura/ escritura (Crea o agrega)" pero además hace que en Windows convierta los terminadores de línea (\n) en (\r\n).
Lectura/escritura en modo texto (Crea o limpia): similar al modo de apertura "Lectura/ escritura (Crea o limpia)" pero además hace que en Windows convierta los terminadores de línea (\n) en (\r\n).
Sólo lectura: realizaremos únicamente operaciones de lectura en un fichero ya existente.
Identificador de variable local booleana de retorno de ok (Opcional)
El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Codificación (Opcional)
Este parámetro nos permitirá elegir la codificación que tendrá el documento a generar. Al desplegar el combo se presentarán los tipos de codificación disponibles.
Funcionalidad
Abre un fichero en disco para realizar operaciones de lectura o escritura según lo hayamos configurado. Si el fichero existe podremos agregar la información o sobrescribir el fichero borrando la información previa. Si no existe podemos crearlo.
Las operaciones de lectura y escritura han de realizarse en el subproceso generado por la apertura del fichero.
Los comandos que realizan las operaciones de lectura y escritura son: fichero: grabar línea, que hacen uso del manejador para indicar en qué fichero se realizará la operación. De esta forma podemos anidar operaciones de lectura y escritura en distintos ficheros.
Las operaciones de lectura y escritura son secuenciales y se realizan línea a línea. Por tanto debemos hacer uso de un bucle por medio del comando For por lo que es posible componer el texto completo que se escribirá en el fichero y realizar la operación con una única ejecución del comando.
Comentarios
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Ejemplo
Seleccionamos el fichero que deseamos abrir de tipo *csv o *.txt.
Fichero: grabar fichero
Comando de instrucción del grupo ficheros y directorios que permite escribir directamente en disco todo el contenido de un fichero a partir del contenido devuelto por una fórmula.
Origen de la instrucción: cualquiera.
Destino del subproceso: el mismo que el origen.
Parámetros
Manejador de fichero
Identificador del fichero que queremos leer. Este habrá sido establecido previamente dentro del mismo proceso mediante el comando de instrucción Fichero: abrir.
Fórmula de dato
Dato que queremos escribir el fichero. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional)
El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad
Escribe directamente en disco todo el contenido de un fichero a partir del contenido devuelto por una fórmula.
Comentarios
No añade ningún carácter de fin de línea al grabar el contenido del fichero.
Ejemplo
Pedimos al usuario que nos indique un directorio y creamos en él un fichero de texto que componemos en base a los registros de una tabla:
Fichero: grabar línea
Comando de instrucción del grupo Ficheros y directorios que escribe una línea en el fichero seleccionado.
Origen de la instrucción: cualquiera.
Destino del subproceso: el mismo que el origen.
Parámetros
Manejador de fichero
Identificador del fichero que queremos escribir. Este habrá sido establecido previamente dentro del mismo proceso mediante el comando de instrucción fichero: abrir.
Fórmula de dato
Dato que queremos escribir en la línea del fichero. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional)
El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
No incluir salto de línea (Opcional)
Si se deja vacía este parámetro o se resuelve con un 0, añadirá un carácter de fin de línea al grabarla. En función del sistema operativo en el que ejecutemos el proceso, como carácter de fin de línea se añadirán los caracteres siguientes:
Windows: \r\n Linux: \n OS X: \r
Si establecemos un 1, no añadirá un carácter de fin de línea al grabar la línea. Esto puede ser útil para componer nosotros todo el texto a grabar en una variable y graba una única línea con todo el texto.
Funcionalidad
Escribe una línea en el fichero abierto. Las operaciones de escritura han de realizarse en el subproceso generado por la apertura del fichero.
Comentarios
Para grabar varias líneas en un fichero de texto podemos hacerlo de dos formas con este mismo comando de instrucción de proceso:
1) Un bucle for o un recorrer lista e ir grabando línea a línea.
2) Concatenar todo el texto a grabar en el fichero en una variable local del proceso y grabarlo una única vez con este comando de instrucción de proceso.
Es posible anidar operaciones de escritura en distintos ficheros, haciendo uso del manejador del fichero para seleccionar en aquél en el que queremos escribir.
Ejemplos
Abrimos el fichero c:\fichero.txt para grabar los registros seleccionados de la rejilla REJ.
Abrimos el fichero c:\fichero.txt para grabar los registros seleccionados de la rejilla REJ pero, en lugar de grabar cada registro línea a línea, lo que haremos será concatenarlo todo en una variable local y grabar línea una única vez:
Fichero: leer fichero
Comando de instrucción del grupo ficheros y directorios que lee el contenido completo del fichero seleccionado.
Origen de la instrucción: cualquiera.
Destino del subproceso: el mismo que el origen.
Parámetros
Manejador de fichero
Identificador del fichero que queremos leer. Este habrá sido establecido previamente dentro del mismo proceso mediante el comando de instrucción Fichero: abrir.
Identificador de variable local alfabética de retorno
El comando retornará en esta variable local el contenido completo del fichero.
Identificador de variable local booleana de retorno de ok (Opcional)
El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad
Lee todo el contenido del fichero seleccionado. Esta operación de lectura han de realizarse en el subproceso generado por la apertura del fichero.
Comentarios
Es posible anidar operaciones de lectura en distintos ficheros, haciendo uso del manejador del fichero para seleccionar aquél del que queremos leer.
Ejemplo
Pedimos al usuario que nos indique un fichero de texto plano a leer y leemos su contenido:
Fichero: leer línea
Comando de instrucción del grupo Ficheros y directorios que lee una línea en el fichero seleccionado.
Origen de la instrucción: cualquiera.
Destino del subproceso: el mismo que el origen.
Parámetros
Manejador de fichero
Identificador del fichero que queremos leer. Este habrá sido establecido previamente dentro del mismo proceso mediante el comando de instrucción Fichero: abrir.
Identificador de variable local alfabética de retorno
El comando retornará en esta variable local el dato leído en la línea.
Identificador de variable local booleana de retorno de ok (Opcional)
El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad
Lee una línea del fichero abierto. Las operaciones de lectura han de realizarse en el subproceso generado por la apertura del fichero.
Comentarios
Las operaciones de lectura y escritura son secuenciales y se realizan línea a línea. Por tanto debemos hacer uso de un bucle por medio del comando For condicionado a la realización de la operación de lectura o escritura, para leer o escribir varias líneas.
Es posible anidar operaciones de lectura en distintos ficheros, haciendo uso del manejador del fichero para seleccionar aquél del que queremos leer.
En la versión de 32 bits no se podrán leer líneas cuyo tamaño supere los 128 Mb.
Ejemplo
Abrimos el fichero c:\fichero.txt para leer su primera linea llevando el contenido a la variable local LINEA.
Get atributos fichero
Comando de instrucción del grupo Ficheros y directorios que informa de los atributos básicos de un fichero en disco.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Fórmula de senda
Senda del fichero cuyos atributos básicos queremos conocer. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local fecha de retorno
Variable local en la que el comando retornará la fecha de última modificación del fichero.
Identificador de variable local hora de retorno (Opcional)
Variable local en la que el comando retornará la hora de última modificación del fichero.
Identificador de variable local numérica de retorno de tamaño en bytes (Opcional)
Variable local en la que el comando retornará el tamaño del fichero (bytes).
Funcionalidad
Informa de los atributos básicos de un fichero en disco: fecha y hora de última modificación del fichero y el tamaño en bytes.
Comentarios
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Ejemplo
Leemos de la caché del cliente el fichero original_copia_old.pdf guardando los valores de sus atributos en las variables locales correspondientes.
Renombrar o mover fichero
Comando de instrucción del grupo Ficheros y directorios que renombra un fichero del disco.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Fórmula de senda de origen
Senda del fichero que queremos renombrar. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Fórmula de senda de destino
Nueva senda de destino del fichero. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional)
El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad
Renombra un fichero en disco. El fichero será movido si la senda de destino es distinta a la senda de origen.
Comentarios
En ambas sendas se ha de definir el nombre del fichero.
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Ejemplo
Renombramos el fichero original_copia.pdf de la caché del cliente por el nombre original_copia_old.pdf.