FileIsExist

ファイルの存在を確認します。

bool  FileIsExist(
   const string  file_name,       // File name
   int           common_flag=0    // Search area
   );

パラメーター

ファイル名

[入力]チェックされているファイルの名前

common_flag = 0

[in] ファイルの場所を決定するフラグ。common_flag = FILE_COMMONの場合、ファイルはすべてのクライアント端末\ Terminal \ Common \ Filesの共有フォルダーにあります。それ以外の場合、ファイルはローカルフォルダーにあります。

戻り値

指定されたファイルが存在する場合、trueを返します。

注意

チェックされたファイルは、サブディレクトリであることがわかります。この場合、FileIsExist()関数はfalseを返しますが、エラー5019は_LastError変数に記録されます-「これはディレクトリではなくファイルです」(FileFindFirst()関数の例を参照)。

セキュリティ上の理由から、ファイルの操作はMQL4言語で厳密に制御されています。ファイル操作がMQL4手段を使用して実行されるファイルは、ファイルサンドボックスの外部に配置できません。

common_flag = FILE_COMMONの場合、関数はすべてのクライアント端末\ Terminal \ Common \ Filesの共有フォルダーでファイルを探します。それ以外の場合、関数はローカルフォルダー(MQL4 \ FilesまたはMQL4 \ Tester \ Filesでファイルを探しますテストの場合)。

例:

//— show the window of input parameters when launching the script
#property script_show_inputs
//— date for old files
input datetime InpFilesDate=D’2013.01.01 00:00′;
//+——————————————————————+
//| Script program start function                                    |
//+——————————————————————+
void OnStart()
  {
   string   file_name;      // variable for storing file names
   string   filter=“*.txt”// filter for searching the files
   datetime create_date;    // file creation date
   string   files[];        // list of file names
   int      def_size=25;    // array size by default
   int      size=0;         // number of files
//— allocate memory for the array
   ArrayResize(files,def_size);
//— receive the search handle in the local folder’s root
   long search_handle=FileFindFirst(filter,file_name);
//— check if FileFindFirst() executed successfully
   if(search_handle!=INVALID_HANDLE)
     {
      //— searching files in the loop
      do
        {
         files[size]=file_name;
         //— increase the array size
         size++;
         if(size==def_size)
           {
            def_size+=25;
            ArrayResize(files,def_size);
           }
         //— reset the error value
         ResetLastError();
         //— receive the file creation date
         create_date=(datetime)FileGetInteger(file_name,FILE_CREATE_DATE,false);
         //— check if the file is old
         if(create_date<InpFilesDate)
           {
            PrintFormat(“%s file deleted!”,file_name);
            //— delete the old file
            FileDelete(file_name);
           }
        }
      while(FileFindNext(search_handle,file_name));
      //— close the search handle
      FileFindClose(search_handle);
     }
   else
     {
      Print(“Files not found!”);
      return;
     }
//— check what files have remained
   PrintFormat(“Results:”);
   for(int i=0;i<size;i++)
     {
      if(FileIsExist(files[i]))
         PrintFormat(“%s file exists!”,files[i]);
      else
         PrintFormat(“%s file deleted!”,files[i]);
     }
  }

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">