FileDelete

Elimina il file specificato in una cartella locale del terminale cliente.

bool  FileDelete(
   const string  file_name,     // Nome del file da eliminare 
   int           common_flag=0  // Posizione del file da eliminare
   );

Parametri

file_name

[in]  Nome file.

common_flag=0

[in] Flag determinante la posizione. Se common_flag = FILE_COMMON, allora il file si trova in una cartella condivisa per tutti i terminali client \Terminal\Common\Files. In caso contrario, il file si trova in una cartella locale.

Valore restituito

In caso di fallimento la funzione restituisce false.

Nota

Per motivi di sicurezza, il lavoro con i file è strettamente controllato nel linguaggio MQL5. I file con cui sono condotte le operazioni di file utilizzando i mezzi MQL5, non possono esservi al di fuori della sandbox del file.

Elimina il file specificato da una cartella locale del terminale client (MQL5\files oppure MQL5\tester\files in caso di testing). Se common_flag = FILE_COMMON, allora la funzione rimuove il file dalla cartella condivisa per tutti i terminali client.

Esempio:

//--- mostra la finestra dei parametri di input quando si lancia lo script
#property script_show_inputs
//--- data per i vecchi file
input datetime InpFilesDate=D'2013.01.01 00:00';
//+--------------------------------------------------------------------------------+
//| Funzione di avvio del programma Script                                         |
//+--------------------------------------------------------------------------------+
voidOnStart()
  {
   string   file_name;      // variabile per memorizzare i nomi dei file
   string   filter="*.txt"// filtro per cercare i file
   datetime create_date;    // data di creazione file
   string   files[];        // lista dei nomi file
   int      def_size=25;    // grandezza array per default
   int      size=0;         // numero di file
//--- alloca la memoria per l'array
   ArrayResize(files,def_size);
//--- riceve l'handle di ricerca nella root della cartella locale
   long search_handle=FileFindFirst(filter,file_name);
//--- controlla se FileFindFirst() è stato eseguito con successo
   if(search_handle!=INVALID_HANDLE)
     {
      //--- cerca i file nel loop
      do
        {
         files[size]=file_name;
         //--- incrementa la grandezza dell'array
         size++;
         if(size==def_size)
           {
            def_size+=25;
            ArrayResize(files,def_size);
           }
         //--- resetta il valore dell'errore
         ResetLastError();
         //--- riceve la data di creazione del file
         create_date=(datetime)FileGetInteger(file_name,FILE_CREATE_DATE,false);
         //--- controlla se il file è vecchio
         if(create_date<InpFilesDate)
           {
            PrintFormat("%s file eliminato!",file_name);
            //--- elimina il vecchio file
            FileDelete(file_name);
           }
        }
      while(FileFindNext(search_handle,file_name));
      //--- chiude l'handle di ricerca
      FileFindClose(search_handle);
     }
   else
     {
      Print("File non trovato!");
      return;
     }
//--- controlla quale file è rimasto
   PrintFormat("Risultato:");
   for(int i=0;i<size;i++)
     {
      if(FileIsExist(files[i]))
         PrintFormat("%s file esiste!",files[i]);
      else
         PrintFormat("%s file eliminato!",files[i]);
     }
  }