Sintaxis
FCREATE( <expresión carácter> [ , <expresión numérica> ] )
Propósito
Crea un nuevo archivo binario o traba un archivo existente, dejándolo en cero bytes. Al crear un nuevo archivo suministra el número de manejo del mismo, variando entre 0 y 65.535.
Argumentos
< expresión carácter >
Define el nombre del nuevo archivo binario que se creará. Si el archivo ya existe, su tamaño se quedará en cero.
< expresión numérica >
Define un atributo referente al tipo de archivo binario que se creará y las operaciones que se permitirán. Si se omite se considerará cero. Los atributos posibles están listados en la siguiente tabla:
Valor | Fileio.ch | Atributo | Descripción |
0 | FC_NORMAL | Normal | Permite la lectura y grabación del archivo. |
1 | FC_READONLY | Solamente lectura | Permite sólo la lectura del archivo. Si se intenta grabar muestra una condición de error. |
2 | FC_HIDDEN | Oculto | El nombre del archivo no se muestra en la carpeta. |
4 | FC_SYSTEM | Sistema | El nombre del archivo no se muestra en la carpeta. |
Utilización
Si el archivo especificado no existe, se creará y abrirá uno para la grabación de datos. Si el archivo especificado ya existe y se puede abrir para grabación, éste se quedará con un tamaño cero. Si el archivo ya existe y no se puede abrir para grabación, la función FCREATE() suministra el valor indicativo de error -1 y la función FERROR() suministra el número del error ocurrido.
Cuando la función FCREATE() crea un nuevo archivo binario, este se abre normalmente en los modos compartido, de lectura y grabación. El atributo especificado por la expresión numérica se aplica al nuevo archivo sólo cuando éste se cierra, lo que permite la grabación de datos en el nuevo archivo creado, aunque el mismo sea solamente en modo lectura (read-only).
Un número de manejo de archivo siempre es necesario para identificar un determinado archivo binario que será procesado por las demás funciones de manejo de archivos binarios. Por este motivo, el valor suministrado por la función CREATE() se debe almacenar en una variable, para que posteriormente el archivo creado pueda ser accedido por las demás funciones. Este valor corresponde al número de manejo de archivos binarios y puede variar entre cero y 65.535.
Ejemplos
A continuación se muestra un ejemplo sencillo que crea un archivo llamado Testfile y lo abre para que sea leído y escrito:
#include "Protheus.ch"
LOCAL nHandle := FCREATE("Testfile", FC_NORMAL)
IF nHandle == -1
MsgAlert("El archivo no se creó:" + STR(FERROR()))
BREAK
ELSE
FWRITE(nHandle, "Esto es un mensaje")
FCLOSE(nHandle)
ENDIF