Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- CA-Clipper 5.3 . Guide To CA-Clipper - <b>fopen()</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 FOPEN()
 Open a binary file
------------------------------------------------------------------------------
 Syntax

     FOPEN(<cFile>, [<nMode>]) --> nHandle

 Arguments

     <cFile> is the name of the file to open, including the path if there
     is one.

     <nMode> is the requested DOS open mode indicating how the opened
     file is to be accessed.  The open mode is composed of elements from the
     two types of modes described in the tables below.  If just the Access
     Mode is used, the file is opened non-sharable.  The default open mode is
     zero, which indicates non-sharable and read-only.

     FOPEN() Access Modes
     ------------------------------------------------------------------------
     Mode    Fileio.ch      Operation
     ------------------------------------------------------------------------
     0       FO_READ        Open for reading (default)
     1       FO_WRITE       Open for writing
     2       FO_READWRITE   Open for reading or writing
     ------------------------------------------------------------------------

     The Sharing Modes determine how other processes may access the file.

     FOPEN() Sharing Modes 
     ------------------------------------------------------------------------
     Mode    Fileio.ch      Operation
     ------------------------------------------------------------------------
     0       FO_COMPAT      Compatibility mode (default)
     16      FO_EXCLUSIVE   Exclusive use
     32      FO_DENYWRITE   Prevent others from writing
     48      FO_DENYREAD    Prevent others from reading
     64      FO_DENYNONE    Allow others to read or write
     64      FO_SHARED      Same as FO_DENYNONE
     ------------------------------------------------------------------------

     The Access Modes in combination (+) with the Sharing modes determine the
     accessibility of the file in a network environment.

 Returns

     FOPEN() returns the file handle of the opened file in the range of zero
     to 65,535.  If an error occurs, FOPEN() returns -1.

 Description

     FOPEN() is a low-level file function that opens an existing binary file
     for reading and writing, depending on the <nMode> argument.  Whenever
     there is an open error, use FERROR() to return the DOS error number.
     For example, if the file does not exist, FOPEN() returns -1 and FERROR()
     returns 2 to indicate that the file was not found.  See FERROR() for a
     complete list of error numbers.

     If the specified file is opened successfully, the value returned is the
     DOS handle for the file.  This value is similar to an alias in the
     database system and is required to identify the open file to other file
     functions.  It is, therefore, important to assign the return value to a
     variable for later use as in the example below.

     Warning!  This function allows low-level access to DOS files and
     devices.  It should be used with extreme care and requires a thorough
     knowledge of the operating system.

 Notes

     .  Accessing files in other directories: FOPEN() does not obey
        either SET DEFAULT or SET PATH.  Instead, it searches the current DOS
        directory and path setting unless a path is explicitly stated as part
        of the <cFile> argument.

 Examples

     .  This example uses FOPEN() to open a file with  sharable
        read/write status and displays an error message if the open fails:

        #include "Fileio.ch"
        //
        nHandle := FOPEN("Temp.txt", FO_READWRITE + FO_SHARED)
        IF FERROR() != 0
           ? "Cannot open file, DOS error ", FERROR()
           BREAK
        ENDIF

 Files   Library is CLIPPER.LIB, header file is Fileio.ch.


See Also: FCLOSE() FCREATE() FERROR()

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson