FileIsExist 関数
この関数は、指定したファイルが、指定したフォルダの中に存在するかを確認します。
指定できるフォルダは 2つあり、引数②でどちらのフォルダの中のファイル有無を確認するかを設定します。MQL4でファイル操作を実行するファイルは、セキュリティ上の理由でこれら 2つのフォルダ以外に置くことはできません。
指定可能なフォルダの場所は、
① …\Terminal\〇〇〇\MQL4\Files
② …\Terminal\Common\Files
です。①の「〇〇〇」はインストールしたMT4の任意の文字列です。
上記フォルダは、MT4のメニュー「ファイル」→「データフォルダを開く」で展開されたフォルダから、①のフォルダは展開したフォルダの中に「MQL4」フォルダ があるので、その中に「Files」フォルダがあります。②のフォルダは展開したフォルダの1つ上の階層に「Common」フォルダがあるので、その中に「Files」フォルダがあります。
データ型と構成・戻り値
bool FileIsExist(①, ②);
戻り値は、指定したファイルが存在する場合は true、それ以外は falseを返します。
発生するエラーについては、GetLastError関数で取得することができます。
チェックしたファイルがフォルダの場合、falseが返され、エラーが 5019と返されます。
引数 [2]
FileIsExist関数は 2個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | file_name | const string | - | - | 存在の有無を確認するファイル名。 |
② | common_flag | int | - | 0 | ファイルの存在有無を確認するフォルダの位置。 「FILE_COMMON」の時、 …\Terminal\Common\Files フォルダが指定されます。 「FILE_COMMON」以外の時、 …\Terminal\〇〇〇\MQL4\Files フォルダが指定されます。初期値はこちらのフォルダが指定されます。 |
使用例
FileIsExist関数によるファイルの存在有無の確認
FileIsExist関数を使って指定したファイルの有無を確認します。
①「…\Terminal\〇〇〇\MQL4\Files」フォルダと ②「…\Terminal\Common\Files」フォルダの中のファイルを調べます。
それぞれのフォルダの中には「test.csv」ファイルと「test.txt」ファイルが既に入っている状態です。
コード
// FileIsExist関数によるファイルの存在有無の確認
#property strict
void OnInit() {
Print("①ファイルの有無:", FileIsExist("test.csv"));
Print("②ファイルの有無:", FileIsExist("test.txt", FILE_COMMON));
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)