列挙値を文字列に変換 EnumToString 関数

関数

変換関数

EnumToString 関数

 この関数は、enum型の列挙値を string型(文字列)に変換します。

データ型と構成・戻り値

string EnumToString(①);

 戻り値は、列挙値を文字列に変換したものを返します。変換できなかった場合は -1を返します
 発生するエラーについては、GetLastError関数で取得することが出来ます。

引数 [1]

 EnumToString関数は 1個の引数で構成されます。


引数名データ型単位初期値説明
valueenum列挙型(enum型)のデータ。

使用例

作成した列挙型を 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が返されます。

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