FileDelete

Supprime le fichier indiqué dans le dossier local du terminal de client.

bool  FileDelete(
   const string  file_name,     // nom du fichier supprimé
   int           common_flag=0  // endroit du fichier supprimé
   );

Paramètres

file_name

[in]  Le nom du fichier.

common_flag=0

[in] Le drapeau, déterminant l'endroit du fichier. Si common_flag=FILE_COMMON, le fichier se trouve dans le dossier commun de tous les terminaux de client \Terminal\Common\Files. Dans le cas contraire le fichier se trouve dans le dossier local.

La valeur rendue

En cas de l'échec la fonction rend false.

Note

On contrôle strictement le travail avec les fichiers dans la langue MQL5 pour des raisons de sécurité. Les fichiers, avec lesquels on mène des opérations de fichier par les moyens de la langue MQL5, ne peuvent pas se trouver en dehors du sandbox de fichier".

Supprime le fichier indiqué dans le dossier local du terminal de client (MQL5\Files ou MQL5\Tester\Files en cas du test). Si common_flag=FILE_COMMON est indiqué, la fonction supprime le fichier du dossier total de tous les terminaux de client.

Exemple:

//--- affichons la fenêtre des paramètres d'entrée au lancement du script 
#property script_show_inputs
//---la date pour les anciens fichiers
input datetime InpFilesDate=D'2013.01.01 00:00';
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string   file_name;      // la variable pour stocker les noms des fichiers
   string   filter="*.txt"// le filtre pour rechercher les fichiers
   datetime create_date;    // la date de la création du fichier
   string   files[];        // la liste des noms des fichiers
   int      def_size=25;    // la taille du tableau par défaut
   int      size=0;         // le nombre de fichiers
//--- allouons la mémoire pour un tableau
   ArrayResize(files,def_size);
//--- la réception du handle de la recherche dans la racine du dossier local
   long search_handle=FileFindFirst(filter,file_name);
//--- vérifions, si la fonction FileFindFirst() a travaillé avec succès
   if(search_handle!=INVALID_HANDLE)
     {
      //--- trions les fichiers dans le cycle
      do
        {
         files[size]=file_name;
         //--- augmentons la taille du tableau
         size++;
         if(size==def_size)
           {
            def_size+=25;
            ArrayResize(files,def_size);
           }
         //--- oblitérons la valeur de l'erreur
         ResetLastError();
         //---recevrons la date de la création du fichier
         create_date=(datetime)FileGetInteger(file_name,FILE_CREATE_DATE,false);
         //--- vérifions si le fichier est ancien
         if(create_date<InpFilesDate)
           {
            PrintFormat("Le fichier %s est supprimé!",file_name);
            //--- supprimons un ancien fichier
            FileDelete(file_name);
           }
        }
      while(FileFindNext(search_handle,file_name));
      //--- fermons le handle de la recherche
      FileFindClose(search_handle);
     }
   else
     {
      Print("Files not found!");
      return;
     }
//--- vérifions quels fichiers sont restés
   PrintFormat("Les résultats:");
   for(int i=0;i<size;i++)
     {
      if(FileIsExist(files[i]))
         PrintFormat("Le fichier %s existe!",files[i]);
      else
         PrintFormat("Le fichier %s est supprimé!",files[i]);
     }
  }