FolderCreate
Создает директорию в директории Files (в зависимости от значения common_flag)
bool FolderCreate(
string folder_name,
int common_flag=0
); |
Параметры
folder_name
[in] Имя директории, которую требуется создать. Содержит относительный путь к папке.
common_flag=0
[in] Флаг, определяющий местоположение директории. Если common_flag=FILE_COMMON, то директория находится в общей папке всех клиентских терминалов \Terminal\Common\Files. В противном случае директория находится в локальной папке
Возвращаемое значение
Примечание
Пример:
#property copyright "Copyright 2011, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
//--- описание
#property description "Скрипт показывает пример использования FolderCreate()."
#property description "Внешний параметр определяет папку для создания папок."
#property description "После выполнения скрипта будет создана структура папок"
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
//--- входной параметр определяет папку, в которой работает скрипт
input bool common_folder=false; // общая папка всех терминалов
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- папка, которую создадим в MQL5\Files
string root_folder="Folder_A";
if(CreateFolder(root_folder,common_folder))
{
//--- создадим в ней дочернюю папку Child_Folder_B1
string folder_B1="Child_Folder_B1";
string path=root_folder+"\\"+folder_B1; // создадим имя папки с учетом структуры
if(CreateFolder(path,common_folder))
{
//--- в этой папке создадим еще 3 дочерних
string folder_C11="Child_Folder_C11";
string child_path=root_folder+"\\"+folder_C11;// создадим имя папки с учетом структуры
CreateFolder(child_path,common_folder);
//--- вторая дочерняя папка
string folder_C12="Child_Folder_C12";
child_path=root_folder+"\\"+folder_C12;
CreateFolder(child_path,common_folder);
//--- третья дочерняя папка
string folder_C13="Child_Folder_C13";
child_path=root_folder+"\\"+folder_C13;
CreateFolder(child_path,common_folder);
}
}
//---
}
//+------------------------------------------------------------------+
//| Пытается создать папку и выводит сообщение об этом |
//+------------------------------------------------------------------+
bool CreateFolder(string folder_path,bool common_flag)
{
int flag=common_flag?FILE_COMMON:0;
string working_folder;
//--- выясним полный путь в зависимости от параметра common_flag
if(common_flag)
working_folder=TerminalInfoString(TERMINAL_COMMONDATA_PATH)+"\\MQL5\\Files";
else
working_folder=TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Files";
//--- отладочное сообщение
PrintFormat("folder_path=%s",folder_path);
//--- попытка создать папку относительно пути MQL5\Files
if(FolderCreate(folder_path,flag))
{
//--- выведем полный путь для созданной папки
PrintFormat("Cоздали папку %s",working_folder+"\\"+folder_path);
//--- сбросим код ошибки
ResetLastError();
//--- успешное выполнение
return true;
}
else
PrintFormat("Не удалось создать папку %s. Код ошибки %d",working_folder+folder_path,GetLastError());
//--- неудачное выполнение
return false;
} |
Смотри также
FileOpen(), FolderClean(), FileCopy()
|