FolderCreate

この関数は、Filesディレクトリにフォルダーを作成します(common_flagの値に応じて)。

bool  FolderCreate(
   string  folder_name,       // String with the name of the new folder
   int     common_flag=0      // Scope
   );

パラメーター

フォルダ名

[入力]作成するディレクトリの名前。フォルダーへの絶対パスが含まれます。

common_flag = 0

[入力] ディレクトリの場所を決定するフラグ。common_flag = FILE_COMMONの場合、ディレクトリはすべてのクライアント端末\ Terminal \ Common \ Filesの共有フォルダーにあります。それ以外の場合、ディレクトリはローカルフォルダー(テストの場合はMQL4 \ FilesまたはMQL4 \ Tester \ Files)にあります。

戻り値

成功した場合はtrue、そうでない場合はfalseを返します。

注意

セキュリティ上の理由から、ファイルの操作はMQL4言語で厳密に制御されています。ファイル操作がMQL4手段を使用して実行されるファイルは、ファイルサンドボックスの外部に配置できません。

例:

//+——————————————————————+
//|                                            Demo_FolderCreate.mq5 |
//|                        Copyright 2011, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+——————————————————————+
#property copyright “Copyright 2011, MetaQuotes Software Corp.”
#property link      “https://www.mql5.com”
#property version   “1.00”
//— description
#property description “The script shows FolderCreate() application sample.”
#property description “The external parameter defines the directory for creating folders.”
#property description “The folder structure is created after executing the script”
 
//— display window of the input parameters during the script’s launch
#property script_show_inputs
//— the input parameter defines the folder, in which the script works
input bool     common_folder=false// common folder for all terminals
//+——————————————————————+
//| Script program start function                                    |
//+——————————————————————+
void OnStart()
  {
//— folder to be created in MQL5\Files
   string root_folder=“Folder_A”;
   if(CreateFolder(root_folder,common_folder))
     {
      //— create the Child_Folder_B1 sub-folder in it
      string folder_B1=“Child_Folder_B1”;
      string path=root_folder+“\\”+folder_B1;          // create the folder name considering the structure
      if(CreateFolder(path,common_folder))
        {
         //— create 3 more sub-directories in this folder
         string folder_C11=“Child_Folder_C11”;
         string child_path=root_folder+“\\”+folder_C11;// create the folder name considering the structure
         CreateFolder(child_path,common_folder);
         //— second sub-directory
         string folder_C12=“Child_Folder_C12”;
         child_path=root_folder+“\\”+folder_C12;
         CreateFolder(child_path,common_folder);
 
         //— third sub-directory
         string folder_C13=“Child_Folder_C13”;
         child_path=root_folder+“\\”+folder_C13;
         CreateFolder(child_path,common_folder);
        }
     }
//—
  }
//+——————————————————————+
//| Try creating a folder and display a message about that           |
//+——————————————————————+
bool CreateFolder(string folder_path,bool common_flag)
  {
   int flag=common_flag?FILE_COMMON:0;
   string working_folder;
//— define the full path depending on the common_flag parameter
   if(common_flag)
      working_folder=TerminalInfoString(TERMINAL_COMMONDATA_PATH)+“\\MQL5\\Files”;
   else
      working_folder=TerminalInfoString(TERMINAL_DATA_PATH)+“\\MQL5\\Files”;
//— debugging message  
   PrintFormat(“folder_path=%s”,folder_path);
//— attempt to create a folder relative to the MQL5\Files path
   if(FolderCreate(folder_path,flag))
     {
      //— display the full path for the created folder
      PrintFormat(“Created the folder %s”,working_folder+“\\”+folder_path);
      //— reset the error code
      ResetLastError();
      //— successful execution
      return true;
     }
   else
      PrintFormat(“Failed to create the folder %s. Error code %d”,working_folder+folder_path,GetLastError());
//— execution failed
   return false;
  }

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">