Создает и открывает файл на низком уровне.

FCREATE(cFileName [, nFileAttribute])

Параметры

cFileName

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

nFileAttribute

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

nFileAttribute Атрибуты файла

0

(По умолчанию) Read/write

1

Read-only

2

Hidden

3

Read-only/Hidden

4

System

5

Read-only/System

6

System/Hidden

7

Read-only/Hidden/System

Отметьте, что в файл, созданный с параметром nFileAttribute, отличным от 0 нельзя производить запись при помощи функции FPUTS( ) или FWRITE( ) до тех пор, пока он не будет закрыт и снова открыт (с необходимыми для записи атрибутами - прим. переводчика). Используйте команду DISPLAY STATUS или LIST STATUS для того, чтобы отобразить или напечатать информацию о файлах, созданных и открытых при помощи FCREATE( ). DISPLAY STATUS и LIST STATUS выдают следующую информацию о каждом файле, открытом или созданном при помощи функций для работы на низком уровне:
  • Устройство, директория и имя файла

  • Номер обработчика файла (file handle number)

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

  • Атрибуты read/write

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

Числовое

Примечания

Если файл с указанным именем существует, он будет перезаписан при операции записи.

FCREATE( ) присваивает каждому файлу номер обработчика и в дальнейшем для идентификации файла во всех функциях Visual FoxPro для работы на низком уровне требуется указывать этот номер. FCREATE( ) возвращает номер обработчика при создании файла или возвращает -1, если файл создать не удалось.

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

Вы не можете открыть коммуникационный порт при помощи FCREATE( ). Для этой цели используйте FOPEN( ).

Пример

  Copy Code
IF FILE('errors.txt') && Существует ли файл? 
gnErrFile = FOPEN('errors.txt',12) && Если да, открываеем его как read/write
ELSE
gnErrFile = FCREATE('errors.txt') && Если не существует, создаем его.
ENDIF
IF gnErrFile < 0 && Проверим, нет ли ошибки при создании файла
WAIT 'Cannot open or create output file' WINDOW NOWAIT
ELSE && Если ошибки нет, производим запись в файл
=FWRITE(gnErrFile , 'Error information to be written here')
ENDIF
=FCLOSE(gnErrFile ) && Закрываем файл
IF gnErrFile > 0
MODIFY FILE errors.txt NOWAIT && Открываем файл в окне редактора (edit window)
ENDIF

См.также