ファイルのプロパティ値を取得(整数型) FileGetInteger 関数

関数

ファイル関数

FileGetInteger 関数

 この関数は、ファイルの整数型のプロパティ値を取得します。取得可能なプロパティ値は ENUM_FILE_PROPERTY_INTEGER 列挙値にある内容になります。

データ型と構成・戻り値

 この関数には 2つの型があります。

long FileGetInteger(①, ③);     // ファイルハンドルで指定
long FileGetInteger(②, ③, ④); // ファイル名で指定

 戻り値は、引数③で設定したファイルのプロパティ値を返します。エラーの場合は -1が返されます。

 発生するエラーについては、GetLastError関数で取得することができます。関数は常にエラーコードを変更します。正常に完了した場合、エラーコードは NULLにリセットされます。

引数 [2]

 FileGetInteger関数は 2~3個の引数で構成されます。


引数名データ型単位初期値説明
file_handleintFileOpen関数によって取得されるファイルハンドル
file_nameconst stringファイル名。
property_idenum取得するファイルプロパティ値。ENUM_FILE_PROPERTY_INTEGER 列挙値から選択します。2番目の関数(ファイル名で指定)の型を使用すると ENUM_FILE_PROPERTY_INTEGER 列挙値の 1~5までのみ使用できます。
common_folderboolfalseファイルのフォルダの位置。
初期値の「false」の時、
…\Terminal\〇〇〇\MQL4\Files フォルダが指定されます。
それ以外の時、
…\Terminal\Common\Files フォルダが指定されます。

 引数④で設定できるフォルダは、次の2つになります。
① …\Terminal\〇〇〇\MQL4\Files
② …\Terminal\Common\Files
です。①の「〇〇〇」はインストールしたMT4の任意の文字列です。

 上記フォルダは、MT4のメニュー「ファイル」→「データフォルダを開く」で展開されたフォルダから、①のフォルダは展開したフォルダの中に「MQL4」フォルダ があるので、その中に「Files」フォルダがあります。②のフォルダは展開したフォルダの1つ上の階層に「Common」フォルダがあるので、その中に「Files」フォルダがあります。

 MQL4でファイル操作を実行するファイルは、セキュリティ上の理由でこれら 2つのフォルダ以外に置くことはできません。

使用例

FileGetInteger関数によるファイルのプロパティ値の取得

 FileGetInteger関数を使ってファイルのプロパティ値を取得します。

コード

// FileGetInteger関数によるファイルのプロパティ値の取得
#property strict
void OnInit() {

string filename = "test.csv"; // ファイル名
int handle;                   // ファイルハンドル
    
handle = FileOpen(filename, FILE_READ | FILE_WRITE | FILE_CSV );

uint b = FileWrite(handle, "test");

Print("①ファイルの有無:",             (bool)    FileGetInteger(handle, FILE_EXISTS));              // 1
Print("②ファイルの作成日:",           (datetime)FileGetInteger(handle, FILE_CREATE_DATE));         // 2
Print("③ファイルの最終更新日:",       (datetime)FileGetInteger(handle, FILE_MODIFY_DATE));         // 3
Print("④ファイルへの最終アクセス日:", (datetime)FileGetInteger(handle, FILE_ACCESS_DATE));         // 4
Print("⑤ファイルサイズ:",                       FileGetInteger(handle, FILE_SIZE), " バイト");     // 5
Print("⑥ファイルポインタの位置:",               FileGetInteger(handle, FILE_POSITION), " バイト"); // 6

FileClose(handle);
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

 各行の後ろにあるコメントの数値は、2番目の引数の識別子に対応する値です。識別子の代わりにこの値を使うこともできます。

結果

タイトルとURLをコピーしました