Export (0) Print
Expand All
Expand Minimize

FOPEN( ) Function

Opens a file for use with low-level file functions.


FOPEN(cFileName [, nAttribute])

Parameters

cFileName

Specifies the name of the file to open. cFileName can include a path to open files in directories, folders, drives, or volumes not in the current Microsoft Visual FoxPro search path. If a path isn't included, Visual FoxPro searches for the file in the following locations:

  • Default directory

  • Path established with SET PATH

    NoteNote

    Visual FoxPro will not recognize a path name properly if a disk or directory name contains an exclamation point (!).

nAttribute

Specifies read/write privileges or a buffering scheme for the file you open. The following table lists each number you can include in nAttribute, and the read/write file privileges and buffering scheme it establishes.

nAttribute Read/Write privileges Buffered/unbuffered

0

(Default) Read-only

Buffered

1

Write-only

Buffered

2

Read and Write

Buffered

10

Read-only

Unbuffered

11

Write-only

Unbuffered

12

Read and Write

Unbuffered

If nAttribute isn't included, or if nAttribute evaluates to 0, the file is opened as read-only and is buffered.

NoteNote

Visual FoxPro will not recognize a path name properly if a disk or directory name contains an exclamation point (!).

If FOPEN( ) successfully opens the file, the file handle number of the file is returned. FOPEN( ) returns –1 if the file cannot be opened.

NoteTip

Assign the file handle number to a memory variable so you can access the file by the memory variable in other low-level file functions.

The following information about files opened with FOPEN( ) can be displayed or sent to a printer with DISPLAY STATUS or LIST STATUS.

  • Drive and directory or volume and folder, and file name

  • File handle number

  • File pointer position

  • Read/write attributes

Numeric

IF FILE('errors.txt')  && Does file exist? 
   gnErrFile = FOPEN('errors.txt',12)  && If so, open read/write
ELSE
   gnErrFile = FCREATE('errors.txt')  && If not, create it
ENDIF
IF gnErrFile < 0  && Check for error opening file
   WAIT 'Cannot open or create output file' WINDOW NOWAIT
ELSE  && If no error, write to file
   =FWRITE(gnErrFile, 'Error information to be written here')
ENDIF
=FCLOSE(gnErrFile)  && Close file
MODIFY FILE errors.txt NOWAIT  && Open file in edit window 

Community Additions

ADD
Show:
© 2015 Microsoft