Русский

Справочник MQL4 Файловые операции FileIsEnding

FileIsEnding

Определяет конец файла в процессе чтения.

bool  FileIsEnding(
   int  file_handle      // handle файла
   );

Параметры

file_handle

[in]  Файловый описатель, возвращаемый функцией FileOpen().

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

Функция возвращает true в случае, если в процессе чтения или перемещения файлового указателя достигнут конец файла.

Примечание

Для определения конца файла, функция пытается провести чтение следующей строки из файла. Если ее не существует, то функция возвращает true, в противном случае false.

Пример:

//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
//--- входные параметры
input string InpFileName="file.txt";    // имя файла
input string InpDirectoryName="Data";   // имя директории
input int    InpEncodingType=FILE_ANSI// ANSI=32 или UNICODE=64
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- распечатаем путь к папке в которой будем работать
   PrintFormat("Работаем в папке %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH));
//--- сбросим значение ошибки
   ResetLastError();
//--- откроем файл для чтения (если файл не существует, то произойдет ошибка)
   int file_handle=FileOpen(InpDirectoryName+"//"+InpFileName,FILE_READ|FILE_TXT|InpEncodingType);
   if(file_handle!=INVALID_HANDLE)
     {
      //--- распечатаем содержимое файла
      while(!FileIsEnding(file_handle))
         Print(FileReadString(file_handle));
      //--- закрываем файл
      FileClose(file_handle);
     }
   else
      PrintFormat("Ошибка, код = %d",GetLastError());
  }