ファイル関数

これは、ファイルを操作するための関数群です。

セキュリティ上の理由から、MQL5 言語ではファイルの扱いは厳しく制御されています。MQL5 手段を用いて操作されるファイルは、ファイルサンドボックスの外に存在することは出来ません。

作業ファイルを配置出来るディレクトリ(サブディレクトリで)は 2 つあります。

  • terminal_data_folder\MQL5\FILES\ (端末メニューで、「ファイル」→「データディレクトリを開く」を選択)
  • コンピュータにインストールされている全ての端末のための共通のフォルダ(通常 C:\Documents 及び Settings\All Users\Application Data\MetaQuotes\Terminal\Common\Files )

ENUM_TERMINAL_INFO_STRING 列挙とTerminalInfoString() 関数を使用してこれらのカタログ名を取得することが出来ます。  

//--- 端末データが格納されるフォルダ
  string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);
//--- 全てのクライアント端末に共通なフォルダー
  string common_data_path=TerminalInfoString(TERMINAL_COMMONDATA_PATH);

他のディレクトリにあるファイルの操作は禁止されています。

ファイル関数は、いわゆる「名前付きパイプ」での作業を可能にします。そのためには FileOpen() 関数が適切なパラメータと呼ばれるべきです。

関数

アクション

FileSelectDialog

ファイルまたはフォルダーを開く/作成ダイアログを作成します。

FileFindFirst

指定されたフィルタに基づいて、ディレクトリ内のファイルの検索を開始します。

FileFindNext

FileFindFirst() 関数で始めた検索を続けます。

FileFindClose

検索ハンドルを閉じます。

FileOpen

指定された名称とフラグでファイルを開きます。

FileDelete

指定されたファイルを削除します。

FileFlush

入力/出力ファイルのバッファに残っている全てのデータをディスクに書き込みます。

FileGetInteger

ファイルの整数プロパティを取得します。

FileIsEnding

読み出し処理において、ファイルの終わりを定義します。

FileIsLineEnding

読み出し処理において、テキストファイル内の行の終わりを定義します。

FileClose

以前に開いたファイルを閉じます。

FileIsExist

ファイルの存在をチェックします。

FileCopy

ファイルをローカルまたは共有フォルダから別のファイルに複製します。

FileMove

ファイルを移動または名称を変更します。

FileReadArray

BIN形式のファイルから文字列を除く全ての型の配列を読み込みます。

FileReadBool

CSV ファイルから、現在の位置から区切り文字までの文字列(またはテキスト行の終わり)を読み込み、読んだ文字列を bool 型の値に変換します。

FileReadDatetime

CSV ファイルから、「YYYY.MM.DD HH:MM:SS」、「YYYY.MM.DD」または「HH:MM:SS」フォーマットの文字列を読み込みdatetime 値に変換します。

FileReadDouble

ファイルポインタの現在位置から double 値を読み込みます。

FileReadFloat

ファイルポインタの現在位置から float 値を読み込みます。

FileReadInteger

ファイルポインタの現在位置から int、short または char 値を読み込みます。

FileReadLong

ファイルポインタの現在位置から long 値を読み込みます。

FileReadNumber

CSV ファイルから、現在の位置から区切り文字までの文字列(またはテキスト行の終わり)を読み込み、読んだ文字列を double 型の値に変換します。

FileReadString

ファイルポインタの現在位置から string 値を読み込みます。

FileReadStruct

バイナリファイルのファイルポインタの現在の位置から、パラメータとして渡される構造体にコンテンツを読み込みます。

FileSeek

ファイルポインタの位置を指定された位置から指定されたバイト数で移動します。

FileSize

対応する開かれているファイルのサイズを返します。

FileTell

対応する開かれているファイルのファイルポインタの現在位置を返します。

FileWrite

データを CSV または TXT 形式のファイルに書き込みます。

FileWriteArray

BIN 形式のファイルに文字列を除いた任意の型の配列を書き込みます。

FileWriteDouble

バイナリファイルのファイルポインタの現在位置にdouble 型の値を書き込みます。

FileWriteFloat

バイナリファイルのファイルポインタの現在位置にfloat 型の値を書き込みます。

FileWriteInteger

バイナリファイルのファイルポインタの現在位置に int 型の値を書き込みます。

FileWriteLong

バイナリファイルのファイルポインタの現在位置に long 型の値を書き込みます。

FileWriteString

BIN または TXT ファイルのファイルポインタの現在位置に string パラメータの値を書き込みます。

FileWriteStruct

バイナリファイルのファイルのファイルポインタの現在位置にパラメータとして割らされた構造体のコンテンツを書き込みます。

FileLoad

指定されたバイナリファイルのすべてのデータを渡された数値型または単純な構造体型の配列に読み込みます

FileSave

配列のすべての要素をパラメータとして渡されたバイナリファイルに書き込みます

FolderCreate

Files ディレクトリ内にフォルダを作成します。

FolderDelete

選択されたディレクトリを削除します。フォルダが空でない場合は、削除出来ません。

FolderClean

指定されたフォルダ内の全てのファイルを削除します。

ファイルが FileOpen() を使用して書き込みのために開かれている場合、パスで指定された全てのサブフォルダは存在しない場合でも作成されます。