MetaTrader 5 herunterladen

FolderCreate

Erzeugt ein Verzeichnis im Verzeichnis Files (abhängig vom Wert common_flag)

bool  FolderCreate(
   string  folder_name,       // Zeile mit dem Namen des neuen Ordners 
   int     common_flag=0      // Geltungsbereich
   );

Parameter

folder_name

[in]  der Name des Verzeichnisses, das erzeugt werden muss. Beinhaltet den relativen Pfad zum Ordner.

common_flag=0

[in] Flagge, die die Lage des Verzeichnisses bestimmt. Wenn common_flag=FILE_COMMON ist, befindet sich das Verzeichnis im gemeinsamen Ordner für alle Client-Terminals \Terminal\Common\Files. Anderenfalls befindet sich das Verzeichnis im lokalen Ordner (MQL5\files oder MQL5\tester\files beim Testen).

Rückgabewert

Gibt true im Erfolgsfall zurück, anderenfalls false.

Hinweis

Aus Sicherheitsgründen ist die Arbeit mit Dateien in MQL5 streng gesteuert. Dateien, mit denen Datei-Operationen mittels MQL5 durchgeführt werden, können nicht außerhalb der Datei-Sandbox sein.

Beispiel:

#property copyright "Copyright 2011, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//--- Beschreibung
#property description "Das Skript zeigt ein Beispiel für die Anwendung von FolderCreate()."
#property description "Der externe Parameter legt das Verzeichnis für die Erstellung von Ordnern fest."
#property description "Nach der Ausführung des Scripts wird eine Ordnerstruktur erstellt"
 
//--- das Fenster der Eingabeparameter beim Starten des Scripts anzeigen 
#property script_show_inputs
//--- der Eingabeparameter definiert den Ordner, in welchem das Skript ausgeführt wird
input bool     common_folder=false// gemeinsamer Ordner für alle Terminals
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
 { 
//--- Ordner, den wir in MQL5\Files erstellen
   string root_folder="Folder_A";
   if(CreateFolder(root_folder,common_folder))
    { 
      //--- den Unterordner Child_Folder_B1 in diesem Ordner erstellen
      string folder_B1="Child_Folder_B1";
      string path=root_folder+"\\"+folder_B1;          // den Namen des Ordners unter Berücksichtigung der Struktur erstellen
      if(CreateFolder(path,common_folder))
       { 
         //--- drei weitere Unterordner in diesem Ordner erstellen
         string folder_C11="Child_Folder_C11";
         string child_path=root_folder+"\\"+folder_C11;// den Namen des Ordners unter Berücksichtigung der Struktur erstellen
         CreateFolder(child_path,common_folder);
         //--- zweiter Unterordner
         string folder_C12="Child_Folder_C12";
         child_path=root_folder+"\\"+folder_C12;
         CreateFolder(child_path,common_folder);
 
         //--- dritter Unterordner
         string folder_C13="Child_Folder_C13";
         child_path=root_folder+"\\"+folder_C13;
         CreateFolder(child_path,common_folder);
        }
     }
+//---+
  }
//+------------------------------------------------------------------+
//| Versucht einen Ordner zu erstellen und gibt eine Meldung darüber |
//+------------------------------------------------------------------+
bool CreateFolder(string folder_path,bool common_flag)
 { 
   int flag=common_flag?FILE_COMMON:0;
   string working_folder;
//--- den vollständigen Pfad je nach dem Parameter common_flag feststellen
   if(common_flag)
      working_folder=TerminalInfoString(TERMINAL_COMMONDATA_PATH)+"\\MQL5\\Files";
   else
      working_folder=TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Files";
//--- Debugging-Meldung  
   PrintFormat("folder_path=%s",folder_path);
//--- Versuch, einen Ordner hinsichtlich des MQL5\Files Pfads zu erstellen
   if(FolderCreate(folder_path,flag))
    { 
      //--- den vollständigen Pfad zum erstellen Ordner ausgeben
      PrintFormat("Der Ordner %s wurde erstellt",working_folder+"\\"+folder_path);
      //--- Fehlercode zurücksetzen
      ResetLastError();
      //--- erfolgreiche Ausführung
      return true;
     }
   else
      PrintFormat("Die Erstellung des Ordners %s fehlgeschlagen. Fehlercode %d",working_folder+folder_path,GetLastError());
//--- Ausführung fehlgeschlagen
   return false;
  }

Sehen Sie auch

FileOpen(), FolderClean(), FileCopy()