MetaTrader 5 herunterladen

FileDelete

Entfernt die angegebene Datei im Lokalen Ordner des Client-Terminals.

bool  FileDelete(
   const string  file_name,     // der Name der entfernten Datei 
   int           common_flag=0  // die Lage der entfernten Datei 
   );

Parameter

file_name

[in] Dateiname.

common_flag=0

[in] Flagge, die Dateilage bestimmt. Wenn common_flag=FILE_COMMON, befindet sich die Datei im Gesamtordner aller Client-Terminals \Terminal\Common\Files. Anderenfalls befindet sich die Datei im lokalen Ordner.

Rückgabewert

Beim Misserfolg gibt die Funktion false zurück.

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.

Entfernt die angegebene Datei im Lokalen Ordner des Client-Terminals (MQL5\Files oder MQL5\Tester\Files beim Testen). Wenn aber common_flag=FILE_COMMON angegeben wird, entfernt die Funktion die Datei aus dem Gesamtordner aller Client-Terminals.

Beispiel:

//--- Beim Starten des Scripts zeigen Sie den Fenster mit den Eingabeparametern an
#property script_show_inputs
//---Datum für alte Dateien
input datetime InpFilesDate=D'2013.01.01 00:00';
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string   file_name;      // Variable für Speichern die Dateinamen 
   string   filter="*.txt"// Der Filter für die Suche nach Dateien 
   datetime create_date;    // das Dateierstellungsdatum 
   string   files[];        // Die Liste von Dateinamen
   int      def_size=25;    // die standardmässige Größe des Arrays 
   int      size=0;         // die Anzahl der Dateien
//--- trennen Sie den Speicher für den Array ab 
   ArrayResize(files,def_size);
//--- erhalten Sie die Suche Handle von Grund auf den lokaler Ordner
   long search_handle=FileFindFirst(filter,file_name);
//--- prüfen Sie, ob die FileFindFirst() Funktion erfolgreich durchgearbeitet hat 
   if(search_handle!=INVALID_HANDLE)
     {
      //--- durchlaufen Sie im Zyklus Dateien
      do
        {
         files[size]=file_name;
         //--- erhöhen Sie die Größe des Arrays
         size++;
         if(size==def_size)
           {
            def_size+=25;
            ArrayResize(files,def_size);
           }
         //--- der Fehlerwert zu stürzen
         ResetLastError();
         //--- haben Sie das Dateierstellungsdatum
         create_date=(datetime)FileGetInteger(file_name,FILE_CREATE_DATE,false);
         //--- prüfen Sie, ob die Datei alt ist
         if(create_date<InpFilesDate)
           {
            PrintFormat("Die %s Datei gelöscht!",file_name);
            //---löschen Sie die alte Datei
            FileDelete(file_name);
           }
        }
      while(FileFindNext(search_handle,file_name));
      //--- schließen Sie die Suche Handle
      FileFindClose(search_handle);
     }
   else
     {
      Print("Files not found!");
      return;
     }
//--- prüfen Sie, ob welche Dateien blieben
   PrintFormat("Resultate:");
   for(int i=0;i<size;i++)
     {
      if(FileIsExist(files[i]))
         PrintFormat("Die %s Datei existiert!",files[i]);
      else
         PrintFormat("Die %s Datei gelöscht!",files[i]);
     }
  }