Функция FOPEN()

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

Синтаксис:

FOPEN(cFileName [, nAttribute])

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

В FoxPro для MS-DOS, если cFileName задает порт связи, он должен быть предварительно инициализирован командой MS-DOS MODE. Укажите имя порта, например COM1 или COM2.
В Visual FoxPro и FoxPro для Macintosh нельзя открывать порты с помощью файловых функций низкого уровня.
nAttribute
Задает полномочия чтения-записи или схему буферизации для открываемого файла. В следующей таблице перечислены все номера, которые можно указывать в качестве nAttribute, а также соответствующие полномочия чтения-записи и схемы буферизации.

nAttributeПолномочия чтения-записиБуферизация файла
0(По умолчанию)Только чтениеБуферизуется
1Только записьБуферизуется
2Чтение и записьБуферизуется
10Только чтениеНе буферизуется
11Только записьНе буферизуется
12Чтение и записьНе буферизуется

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

Результат:
Числовой.

Комментарии:
Порты связи вообще нельзя открывать в Visual FoxPro и в FoxPro для Macintosh.
Если функция FOPEN() успешно открывает файл или порт связи, возвращается дескриптор файла, соответствующий данному файлу или порту. Если файл или порт не удалось открыть, FOPEN( ) возвращает -1.
Совет. Присвойте дескриптор файла переменной памяти, чтобы через нее получать доступ к этому файлу или порту связи в других файловых функциях низкого уровня.
Ниже приведены категории информации о файлах, открытых с помощью FOPEN( ), которую можно вывести на дисплей или на печать по команде DISPLAY STATUS или LIST STATUS:

Пример:

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

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 26.01.2003