Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
Demo_FileDelete - script para MetaTrader 5
- Visualizaciones:
- 859
- Ranking:
- Publicado:
- 2014.01.14 14:36
- Actualizado:
- 2016.11.22 07:33
- ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
El script busca todos los archivos de texto en la carpeta local del terminal y elimina aquellos cuya fecha de creación es anterior a la especificada en el parámetro de entrada "InpFilesDate". La ubicación de la carpeta local del terminal puede obtenerse mediante la función TerminalInfoString().
PrintFormat("Ruta hacia la carpeta local del terminal: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH));
Nota: El script eliminará todos los archivos de texto creados con anterioridad al 1º de enero de 2010 que existan en la carpeta local del terminal (valor por defecto del parámetro InpFilesDate). Por tanto, antes de ejecutarlo, asegúrese que no hay archivos de texto con información importante en la carpeta local del terminal.
Código:
//--- muestra una ventana con los parámetros de entrada al ejecutar el script #property script_show_inputs //--- fecha de los archivos antiguos input datetime InpFilesDate=D'2010.01.01 00:00'; //+------------------------------------------------------------------+ //| Función de inicio del script | //+------------------------------------------------------------------+ void OnStart() { string file_name; // variable para almacenar los nombre de los archivos string filter="*.txt"; // filtro de búsqueda de archivos datetime create_date; // fecha de creación del archivo string files[]; // lista de nombres de archivo int def_size=25; // dimensión por defecto de la matriz int size=0; // número de archivos //--- asigna memoria para la matriz ArrayResize(files,def_size); //--- recibe un manejador para la búsqueda en la raíz de la carpeta local del terminal long search_handle=FileFindFirst(filter,file_name); //--- comprueba si FileFindFirst() se ejecutó con éxito if(search_handle!=INVALID_HANDLE) { //--- ciclo de búsqueda de archivos do { files[size]=file_name; //--- aumenta el tamaño de la matriz size++; if(size==def_size) { def_size+=25; ArrayResize(files,def_size); } //--- vacia el valor del error ResetLastError(); //--- recibe la fecha de creación del archivo create_date=(datetime)FileGetInteger(file_name,FILE_CREATE_DATE,false); //--- comprueba si el archivo es suficientemente antiguo if(create_date<InpFilesDate) { PrintFormat("El archivo %s ha sido borrado!",file_name); //--- borra el archivo antiguo FileDelete(file_name); } } while(FileFindNext(search_handle,file_name)); //--- cierra el manejador de búsqueda FileFindClose(search_handle); } else { Print("No se encontraron archivos!"); return; } //--- comprueba los archivos restantes PrintFormat("Resultados:"); for(int i=0;i<size;i++) { if(FileIsExist(files[i])) PrintFormat("Existe el archivo %s !",files[i]); else PrintFormat("El archivo %s ha sido borrado!",files[i]); } }
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/1610
Habla el texto especificado utilizando el motor de voz.
The20sv0.20Indicador de señal de tendencia de semáforo
Este script muestra un ejemplo del uso de la función FileCopy()
cIntBMP - una librería para la creación de imágenes BMPUna clase para la creación y producción de imágenes BMP.