Открывает файл для использования файловыми функциями низкого уровня.

FOPEN(cFileName [, nAttribute])

Параметры

cFileName

Задает имя файла, который надо открыть. cFileName может включать путь к файлу в каталогах или папках, на дисках или томах, находящихся вне текущего пути поиска Visual FoxPro. Если путь не указан, Visual FoxPro будет искать файл в следующих местах:
  • В каталоге, используемом по умолчанию

  • По пути, установленном командой SET PATH

    Примечание:
    Visual FoxPro не распознает путь корректно, если в имени диска или каталога содержится восклицательный знак (!).

nAttribute

Задает полномочия чтения-записи или схему буферизации для открываемого файла. В следующей таблице перечислены все значения, которые можно задавать для nAttribute, а также соответствующие полномочия чтения-записи и схемы буферизации.

nAttribute Полномочия чтения-записи Буферизация

0

(По умолчанию) Только чтение

Буферизуется

1

Только запись

Буферизуется

2

Чтение и запись

Буферизуется

10

Только чтение

Не буферизуется

11

Только запись

Не буферизуется

12

Чтение и запись

Не буферизуется

Если параметр nAttribute не задан или равен 0, файл открывается только для чтения и в режиме буферизации.

Замечания

Если функция FOPEN( ) успешно открывает файл, возвращается дескриптор файла. Если файл не удалось открыть, FOPEN( ) возвращает -1.

Совет:
Присвойте дескриптор файла переменной памяти, чтобы через нее получать доступ к этому файлу или порту связи в других файловых функциях низкого уровня.

Ниже приведены виды информации о файлах, открытых с помощью FOPEN( ), которую можно вывести на экран или на печать командами DISPLAY STATUS или LIST STATUS.

  • Диск и каталог или тои и папка и имя файла

  • Дескриптор файла

  • Позиция указателя файла

  • Атрибуты чтения-записи

Возвращаемое значение

Numeric

Example

  Скопировать код
IF FILE('errors.txt')  && Файл существует? 
   gnErrFile = FOPEN('errors.txt',12)  && Если существует, открываем для чтения/записи
ELSE
   gnErrFile = FCREATE('errors.txt')  && Если нет, создаем его
ENDIF
IF gnErrFile < 0  && Проверка наличия ошибок открытия или создания файла
   WAIT 'Невозможно открыть или создать файл' WINDOW NOWAIT
ELSE  && Если нет ошибки, запись в файл
   =FWRITE(gnErrFile, 'Сведения об ошибке, которые будут здесь записаны')
ENDIF
=FCLOSE(gnErrFile)  && Закрываем файл
MODIFY FILE errors.txt NOWAIT  && Открываем файл в окне редактирования 

Смотрите также