MQLSetInteger 関数
この関数は、MQL4プログラム環境で MQL_CODEPAGEプロパティの値を設定します。
設定できるコードページはこちらです。
通常、Windowsで動かしている場合は、Windows用の ANSIコードページが使われています。
ですので、通常使用ではこの設定を扱うことがありません。もし、変更設定した場合は、日本語などが別の文字列に置き換わることになります。
データ型と構成・戻り値
void MQLSetInteger(①, ②);
戻り値は無し。
MQLSetInteger関数は、実行中の MQL4 プログラムで現在のコードページを変更することを目的としています。
これは、クライアント端末が、プログラムのコンパイル時に使用されたものとは異なるデフォルトのコードページを設定する場合に役立ちます。
例えば、MQL4プログラムはスペイン語のPCでコンパイルして、中国語のPCで実行された時などです。
プログラムがコンパイルされて実行されているPCの言語が異なる場合、メッセージを出力したり値を取得したりするときにエラーが発生する可能性があります。
このようなエラーは、オブジェクト名、グローバル変数名などをパラメーターとして使用する PrintFormat、Print、Comment、Alert、MessageBox、SendFTP、SendMail、SendNotification、iCustom などの関数に関連しています。
実行中のプログラムで文字列を操作するためにコードページを明示的に変更するには、必要なコードページを 2番目のパラメーターとして渡して MQLSetInteger関数を呼び出す必要があります。
この関数は、ユーザーに表示されるメッセージの最適化に役立ちます。
引数 [2]
MQLSetInteger関数は 2個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | property_id | int | - | - | プログラム情報を取得する識別子。 この関数は識別子「MQL_CODEPAGE」のみサポートされています。 |
② | property_value | int | - | - | プロパティの値。 コードページから選択します。 |
使用例
MQLSetInteger関数によるコードページの設定
MQLSetInteger関数を使ってコードページを設定します。現在の Windows用 ANSI コードページから UTF-8コードページに変更設定します。
コード
// MQLSetInteger関数によるコードページの設定
#property strict
void OnInit() {
Print("現在のコードページ:", MQLInfoInteger(MQL_CODEPAGE));
MQLSetInteger(MQL_CODEPAGE, CP_UTF8); // コードページを変更
Print("変更後のCodePage:", MQLInfoInteger(MQL_CODEPAGE));
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
結果
変更後の状態は、Print関数で出力された日本語の文字列部分が別の文字に置き換わることになります。