Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Скрипты

Demo_FileFind - скрипт для MetaTrader 5

Просмотров:
2188
Рейтинг:
(28)
Опубликован:
2013.03.25 10:17
Обновлен:
2016.11.22 07:33
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

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

Данный скрипт перебирает и выводит во вкладку "Эксперты" имена всех файлов и директорий, которые находятся в локальной папке терминала. Местоположение локальной папки терминала можно получить при помощи вызова функции TerminalInfoString().

PrintFormat("Путь к локальной папке терминала: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH));

Для нахождения директорий скрипт использует полезное свойство функции FileIsExist(). Если в параметре функции указать имя существующей директории, то функция вернет "false", а в переменную _LastError будет записана ошибка 5018 - "Это не файл, а директория".

Подробнее с описаниями функций FileFindFirst(), FileFindNext() и FileFindClose() вы можете ознакомиться в справке.

Код:

void OnStart()
  {
   string file_name;
   int    i=1;
//--- получение хэндла поиска в корне локальной папки
   long search_handle=FileFindFirst(InpFilter,file_name);
//--- проверим, успешно ли отработала функция FileFindFirst()
   if(search_handle!=INVALID_HANDLE)
     {
      //--- в цикле проверим являются ли переданные строки именами файлов или директорий
      do
        {
         ResetLastError();
         //--- если это файл, то функция вернет true, а если директория, то функция генерирует ошибку 5018
         FileIsExist(file_name);
         PrintFormat("%d : %s name = %s",i,GetLastError()==5018 ? "Directory" : "File",file_name);
         i++;
        }
      while(FileFindNext(search_handle,file_name));
      //--- закрываем хэндл поиска
      FileFindClose(search_handle);
     }
   else
      Print("Files not found!");
  }
FigurelliSeries FigurelliSeries

Индикатор, позволяющий определять направление тренда

CCIArrows CCIArrows

Семафорный сигнальный индикатор, фиксирующий моменты пробоя техническим индикатором iCCI нулевого уровня и отображающим эти моменты цветными точками

Demo_FileCopy Demo_FileCopy

Скрипт демонстрирует пример использования функции FileCopy()

Demo_FileDelete Demo_FileDelete

Скрипт демонстрирует пример использования функции FileDelete()