FOPEN( )

 Abre un fichero binario

Sintaxis

     FOPEN(<cFichero>, [<nModo>]) –> nManejador

Argumentos

<cFichero> es el nombre del fichero que se va a abrir incluyendo la vía, si existe.

<nModo> 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 <nModo>. 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 <cFichero>.

 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,