EnumToString

任意型の列挙値を文字列に変換します。

string  EnumToString(
  any_enum  value      // 任意型の列挙値
  );

パラメータ

value

[in]  任意型の列挙値

戻り値

列挙のテキスト表現を含む文字列。エラーメッセージを取得するには GetLastError() 関数が呼ばれます。

注意事項

この関数は _LastError 変数に下記のエラー値を設定することがあります。

  • ERR_INTERNAL_ERROR – 実行環境のエラー
  • ERR_NOT_ENOUGH_MEMORY – メモリが操作完了に不充分
  • ERR_INVALID_PARAMETER – 列挙値の名称が使用不可能

 

例:

enum interval // 名前付き定数の列挙
 {
  month=1,     // 1 ヶ月の間隔
  two_months, // 2 ヶ月
  quarter,     // 3 ヶ月(四半期)
  halfyear=6, // 半年
  year=12,     // 1 年( 12ヶ月)
 };
//+------------------------------------------------------------------+
//| スクリプトプログラムを開始する関数                                          |
//+------------------------------------------------------------------+
void OnStart()
 {
//--- 時間間隔を 1 ヶ月に設定する
  interval period=month;
  Print(EnumToString(period)+"="+IntegerToString(period));
 
//--- 時間間隔を四半期(3 ヶ月)に設定する
  period=quarter;
  Print(EnumToString(period)+"="+IntegerToString(period));
 
//--- 時間間隔を 1 年(12ヶ月)に設定する
  period=year;
  Print(EnumToString(period)+"="+IntegerToString(period));
 
//--- 注文の種類の表示をチェックする
  ENUM_ORDER_TYPE type=ORDER_TYPE_BUY;
  Print(EnumToString(type)+"="+IntegerToString(type));
 
//--- 不正な値の表示をチェックする
  type=WRONG_VALUE;
  Print(EnumToString(type)+"="+IntegerToString(type));
 
// 結果:
// month=1
// quarter=3
// year=12
// ORDER_TYPE_BUY=0
// ENUM_ORDER_TYPE::-1=-1
 }

参照

列挙入力変数