Mira cómo descargar robots gratis
¡Búscanos en Telegram!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Visualizaciones:
1006
Ranking:
(33)
Publicado:
2014.01.14 14:37
Actualizado:
2016.11.22 07:33
destination.txt (0.03 KB) ver
source.txt (0.02 KB) ver
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Este script muestra un ejemplo del uso de la función FileCopy(). Para ello el contenido de un archivo se copia en otro. Para que la copia se realice con éxito el archivo de origen debe existir en la carpeta local del terminal, con el nombre indicado en el parámetro de entrada "InpSrc". La ubicación de la carpeta local del terminal puede ser obtenida mediante la función TerminalInfoString().

PrintFormat("Ruta hacia la carpeta local del terminal: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH)); 
Inicialmente el script intentará visualizar el contenido de los archivos. Si el arcivo de destino no existe, se debe llamar a la función FileCopy() sin utilizar la bandera FILE_REWRITE flag. Si el archivo destino ya ha sido creado, para que la copia tenga éxito se debe utilizar la bandera FILE_REWRITE.

Código:

//--- muestra la ventana con los parámetros de entrada al iniciar el script
#property script_show_inputs
//--- parámetros de entrada
input string InpSrc="source.txt";       // origen
input string InpDst="destination.txt";  // destino
input int    InpEncodingType=FILE_ANSI; // ANSI=32 o UNICODE=64
//+------------------------------------------------------------------+
//| Función de arranque del script                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- visualiza el contenido del archivo origen (si existe)
   if(!FileDisplay(InpSrc))
      return;
//--- comprueba si el archivo destino ya existe (puede que no haya sido creado)
   if(!FileDisplay(InpDst))
     {
      //--- el archivo destino no existe, se copia sin la bandera FILE_REWRITE flag (copiado correcto)
      if(FileCopy(InpSrc,0,InpDst,0))
         Print("El archivo ha sido copiado!");
      else
         Print("El archivo no se ha copiado!");
     }
   else
     {
      //--- el archivo destino ya existe, intenta copiar sin la bandera FILE_REWRITE (copiado incorrecto)
      if(FileCopy(InpSrc,0,InpDst,0))
         Print("El archivo ha sido copiado!");
      else
         Print("El archivo no ha sido copiado!");
      //--- El contenido del archivo InpDst no ha sido modificado
      FileDisplay(InpDst);
      //--- intenta nuevamente la copia con la bandera FILE_REWRITE (copiado correcto si el archivo ya existe)
      if(FileCopy(InpSrc,0,InpDst,FILE_REWRITE))
         Print("El archivo ha sido copiado!");
      else
         Print("El archivo no ha sido copiado!");
     }
//--- recibe la copia del archivo InpSrc
   FileDisplay(InpDst);
  }
//+------------------------------------------------------------------+
//| Lee el contenido del archivo                                     |
//+------------------------------------------------------------------+
bool FileDisplay(const string file_name)
  {
//---reset del valor de error
   ResetLastError();
//--- abre el archivo
   int file_handle=FileOpen(file_name,FILE_READ|FILE_TXT|InpEncodingType);
   if(file_handle!=INVALID_HANDLE)
     {
      //--- muestra el contenido en un ciclo
      Print("+---------------------+");
      PrintFormat("Nombre del archivo = %s",file_name);
      while(!FileIsEnding(file_handle))
         Print(FileReadString(file_handle));
      Print("+---------------------+");
      //--- cierra el archivo
      FileClose(file_handle);
      return(true);
     }
//--- error al abrir el archivo
   PrintFormat("%s no ha sido abierto, error = %d",file_name,GetLastError());
   return(false);
  }

Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/1611

Demo_FileDelete Demo_FileDelete

Este script muestra un ejemplo del uso de la función FileDelete()

cIntSpeech cIntSpeech

Habla el texto especificado utilizando el motor de voz.

cIntBMP - una librería para la creación de imágenes BMP cIntBMP - una librería para la creación de imágenes BMP

Una clase para la creación y producción de imágenes BMP.

Demo_FileFind Demo_FileFind

Este script es un ejemplo simple del uso de las funciones FileFindFirst(), FileFindNext() and FileFindClose()