FOPEN( )
Abre un fichero binario
Sintaxis
FOPEN(, []) –> nManejador
Argumentos
es el nombre del fichero que se va a abrir incluyendo la vía, si existe.
es el modo de apertura del DOS solicitado, que indica cómo puede accederse al fichero abierto. El modo de apertura se compone de elementos de los dos tipos de modos que se describen en las tablas que aparecen más adelante. Si únicamente se utiliza el Modo de Acceso, el fichero se abre como no compartido. El modo de apertura por defecto es cero, lo que indica no compartido y sólo de lectura.
Modos de Acceso FOPEN()
————————————————————————
Modo Fileio.ch Operación
————————————————————————
0 FO_READ Abierto para lectura (por defecto)
1 FO_WRITE Abierto para escritura
2 FO_READWRITE Abierto para lectura o escritura
————————————————————————
Los Modos de Utilización Compartida determinan cómo pueden acceder otros procesos al fichero.
Los Modos de Acceso en combinación (+) con los modos Compartidos determinan la accesibilidad del fichero en un entorno de red.
Modos de Utilización Compartida FOPEN()
————————————————————————
Modo Fileio.ch Operación
————————————————————————
0 FO_COMPAT Modo de compatibilidad (por defecto)
16 FO_EXCLUSIVE Uso exclusivo
32 FO_DENYWRITE Evita que otros escriban
48 FO_DENYREAD Evita que otros lean
64 FO_DENYNONE Permite que otros lean o escriban
64 FO_SHARED Igual que FO_DENYNONE
————————————————————————
Devuelve
FOPEN() devuelve el manejador del fichero abierto en el rango 0-65.535. Si se produce un error, FOPEN() devuelve -1.
Descripción
FOPEN() es una función de fichero de bajo nivel, que abre un fichero binario existente para lectura y escritura, según el argumento . Siempre que exista un error de apertura, FERROR() devuelve el número de error del DOS. Por ejemplo, si el fichero no existe, FOPEN() devuelve -1 y FERROR() devuelve 2 para indicar que no se ha localizado el fichero. Consulte FERROR() para obtener una lista completa de números de error.
Si el fichero especificado se abre de forma satisfactoria, el valor devuelto es el manejador del DOS para el fichero. Este valor es similar a un alias en el sistema de base de datos y es necesario para identificar el fichero abierto para otras funciones de fichero. Por lo tanto, es importante asignar el valor de retorno a una variable para su utilización posterior, tal como se muestra en el ejemplo que aparece más adelante.
¡Advertencia! Esta función permite el acceso de bajo nivel a los ficheros y dispositivos del DOS. Debe utilizarse con gran precaución y requiere un conocimiento profundo del sistema operativo.
Notas
¦ Acceso a ficheros en otros directorios: FOPEN() no actúa según los valores de SET DEFAULT ni SET PATH. En su lugar, busca en el directorio y vía actual del DOS, a menos que se establezca una vía, de forma explícita, como parte del argumento .
Ejemplos
¦ Este ejemplo utiliza FOPEN() para abrir un fichero con estado compartible de lectura/escritura y muestra un mensaje de error si falla la apertura:
#include “Fileio.ch”
//
nManejador := FOPEN(“Temp.txt”, FO_READWRITE + FO_SHARED)
IF FERROR() != 0
? “No se puede abrir el fichero, error DOS”, FERROR()
BREAK
ENDIF
Ficheros: La biblioteca asociada es DPXBASE.CH,