Стандартные константы, перечисления и структуры
© 2000-2011, MetaQuotes Software Corp.
330
со стороны нескольких
программ. Флаг используется
при открытии файлов (
FileOpen())
Возможность
перезаписывания файла
функциями FileCopy() и
FileMove(). Файл должен
существовать или
открываться для записи. В
противном случае файл
открыт не будет
Расположение файла в общей
папке всех клиентских
терминалов. Флаг
используется при открытии
файлов (FileOpen()),
копировании файлов (FileCopy
(), FileMove()) и проверке
существования файлов (
FileIsExist())
При открытии файла можно указать один или более флагов, такое сочетание называется
комбинацией флагов. Комбинация флагов записывается с помощью знака операции логического
ИЛИ (|), который ставится между перечисляемыми флагами. Например, чтобы открыть файл в
формате CSV одновременно на чтение и на запись, можно указать комбинацию FILE_READ|
FILE_WRITE|FILE_CSV.
Пример:
int filehandle=FileOpen(filename,FILE_READ|FILE_WRITE|FILE_CSV);
Есть некоторые особенности работы при указании флагов чтения и записи:
Если указан FILE_READ – делается попытка открытия уже существующего файла. Если файл не
существует, то открыть файл не получится, новый файл не создается.
Если FILE_READ|FILE_WRITE – создаётся новый файл если файл с таким именем отсутствует.
Если FILE_WRITE – файл создается заново с нулевым размером.
При открытии файла обязательно должен быть указан флаг FILE_WRITE и/или флаг FILE_READ.
Флаги, определяющие тип чтения открытого файла, имеют приоритет. Самый старший флаг
FILE_CSV, затем следует по старшинству флаг FILE_BIN, и наименьший приоритет имеет флаг
FILE_TXT. Таким образом, если вдруг будут указаны сразу несколько флагов (FILE_TXT|FILE_CSV
или FILE_TXT|FILE_BIN или FILE_BIN|FILE_CSV), то будет использован самый старший по
приоритету флаг.
Флаги, определяющие тип кодировки, также имеют приоритет. Флаг FILE_UNICODE имеет более
старший приоритет,чем флаг FILE_ANSI. Поэтому при указании комбинации FILE_UNICODE|
FILE_ANSI будет использоваться флаг FILE_UNICODE.
Если не указано ни FILE_UNICODE, ни FILE_ANSI, то подразумевается FILE_UNICODE. Если не