FileDelete

Deletar o arquivo especificado dentro da pasta local do terminal do cliente.

bool  FileDelete(
   const string  file_name,     // Nome do arquivo para deletar
   int           common_flag=0  // Localização do arquivo para deletar
   );

Parâmetros

file_name

[in]  Nome do arquivo.

common_flag=0

[in] Bandeira determinando a localização do arquivo. Se common_flag = FILE_COMMON, então o arquivo está localizado em uma pasta compartilhada para todos os terminais de cliente \Terminal\Common\Files. Caso contrário, o arquivo está localizado em uma pasta local.

Valor do Retorno

Em caso de falha a função retornará false.

Observação

Por razões de segurança, o trabalho com arquivos é estritamente controlada na língua MQL5. Arquivos com que as operações de arquivo são conduzidas usando os meios MQL5, não podem estar fora da caixa de proteção do arquivo.

Exclui o arquivo especificado a partir de uma pasta local do terminal do cliente (MQL5\Files ou MQL5\Tester\Files em caso de testes). Se common_flag = FILE_COMMON, então a função remove o arquivo da pasta compartilhada para todos os terminais do cliente.

Exemplo:

//--- mostrar a janela de parâmetros de entrada quando do lançamento do script
#property script_show_inputs
//--- data para arquivos antigos
input datetime InpFilesDate=D'2013.01.01 00:00';
//+------------------------------------------------------------------+
//| Programa Script da função start (iniciar)                        |
//+------------------------------------------------------------------+
void OnStart()
  {
   string   file_name;      // variável para armazenar os nomes dos arquivos
   string   filter="*.txt"// filtrar parar pesquisar os arquivos
   datetime create_date;    // data de criação do arquivo
   string   files[];        // lista de nome dos arquivos
   int      def_size=25;    // tamanho do array por padrão
   int      size=0;         // número de arquivos
//--- alocar memória para o array
   ArrayResize(files,def_size);
//--- receber o manipulador de pesquisa na raiz da pasta local
   long search_handle=FileFindFirst(filter,file_name);
//--- verificar se FileFindFirst() é executada com sucesso
   if(search_handle!=INVALID_HANDLE)
     {
      //--- pesquisando arquivos no loop
      do
        {
         files[size]=file_name;
         //--- aumentar o tamanho do array
         size++;
         if(size==def_size)
           {
            def_size+=25;
            ArrayResize(files,def_size);
           }
         //--- redefinir o valor de erro
         ResetLastError();
         //--- receber a data de criação do arquivo
         create_date=(datetime)FileGetInteger(file_name,FILE_CREATE_DATE,false);
         //--- verificar se o arquivo é antigo
         if(create_date<InpFilesDate)
           {
            PrintFormat("%s arquivo deletado!",file_name);
            //--- deletado o arquivo antigo
            FileDelete(file_name);
           }
        }
      while(FileFindNext(search_handle,file_name));
      //--- fechar o manipulador de pesquisa
      FileFindClose(search_handle);
     }
   else
     {
      Print("Arquivo não encontrado!");
      return;
     }
//--- verificar quais os arquivos permanecem
   PrintFormat("Resultados:");
   for(int i=0;i<size;i++)
     {
      if(FileIsExist(files[i]))
         PrintFormat("%s arquivo existe!",files[i]);
      else
         PrintFormat("%s arquivo deletado!",files[i]);
     }
  }