EnumToString 関数
この関数は、enum型の列挙値を string型(文字列)に変換します。
データ型と構成・戻り値
string EnumToString(①);
戻り値は、列挙値を文字列に変換したものを返します。変換できなかった場合は -1を返します
発生するエラーについては、GetLastError関数で取得することができます。
引数 [1]
EnumToString関数は 1個の引数で構成されます。
使用例
作成した列挙型を EnumToString関数で列挙値を文字列に変換
コード
// EnumToString関数で実数を文字列に変換
#property strict
enum interval
{
month=1, // 1ヶ月
two_months, // 2ヶ月
quarter, // 3ヶ月
halfyear=6, // 6ヶ月
year=12, // 12ヶ月
};
void OnInit() {
interval period;
period=month;
Print("①", EnumToString(period), "=", IntegerToString(period));
period=quarter;
Print("②", EnumToString(period), "=", IntegerToString(period));
period=year;
Print("③", EnumToString(period), "=", IntegerToString(period));
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
結果
既存の列挙値を EnumToString関数で文字列に変換
チャート時間軸の定数である ENUM_TIMEFRAMES 列挙値を使用して、指定したリストの内容をEnumToString関数で文字列に変換します。
コード
// 既存の列挙値を EnumToString関数で文字列に変換
#property strict
void OnInit() {
ENUM_TIMEFRAMES m; // mを列挙名ENUM_TIMEFRAMESの変数として宣言
m=1; // 値でリストを選択
Print("①", EnumToString(m), "=", IntegerToString(m), "分");
m=PERIOD_M5; // リストデータでリストを選択
Print("②", EnumToString(m), "=", IntegerToString(m), "分");
m=WRONG_VALUE; // リストデータでリストを選択
Print("③", EnumToString(m), "=", IntegerToString(m), "分");
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
結果
③は ENUM_TIMEFRAMES 列挙値 の中に「WRONG_VALUE」が設定されていないため -1が返されます。