【MQL4定数】ライセンス情報の定数(ENUM_LICENSE_TYPE)

【辞書】MQLリファレンス

ライセンス情報の定数

ライセンス情報の定数は、ライセンスの情報を取得したいときに使用されます。

主に、MQLInfoInteger関数で使用されます。

それぞれ、MQLInfoInteger関数の MQL_LICENSE_TYPEの返り値として使用されます。

 

ライセンス情報の定数(ENUM_LICENSE_TYPE)

 

定数説明
LICENSE_FREE無料版
LICENSE_DEMOデモ版(機能を制限する事が可能)
LICENSE_FULL有料版(起動回数等の制限が可能)
LICENSE_TIME期間限定版

ライセンス情報の定数の使い方

主に、MQLInfoInteger関数で使用されます。

それぞれ、MQLInfoInteger関数の MQL_LICENSE_TYPEの返り値として使用されます。

ENUM_LICENSE_TYPE型の変数を作り、その変数にMQLInfoIntegerの返り値を代入しましょう。

例えば、以下のように使用します。

MQLInfoIntegerの返り値を ENUM_LICENSE_TYPE型にキャスト(型変換)し、変数に代入しています。

  //MQLInfoInteger関数
  //プログラムのライセンス情報を取得
  ENUM_LICENSE_TYPE licenseType = (ENUM_LICENSE_TYPE)MQLInfoInteger(MQL_LICENSE_TYPE);

 

返り値は ENUM_LICENSE_TYPE型です。

 

サンプルプログラム

以下は、ライセンス情報の定数を使ってプログラムのライセンス種別を取得し、チャート上に表示するサンプルプログラムです。

//+------------------------------------------------------------------+
//| ライセンス情報取得サンプル                                         |
//+------------------------------------------------------------------+
void OnStart()
{
   // ライセンス情報を取得
   ENUM_LICENSE_TYPE licenseType = (ENUM_LICENSE_TYPE)MQLInfoInteger(MQL_LICENSE_TYPE);

   // ライセンス種別に応じてメッセージを表示
   string licenseMsg = "";

   switch(licenseType)
   {
      case LICENSE_FREE:
         licenseMsg = "無料版です。";
         break;
      case LICENSE_DEMO:
         licenseMsg = "デモ版です。機能が制限されている場合があります。";
         break;
      case LICENSE_FULL:
         licenseMsg = "有料版(フルライセンス)です。";
         break;
      case LICENSE_TIME:
         licenseMsg = "期間限定版です。";
         break;
      default:
         licenseMsg = "不明なライセンスです。";
         break;
   }

   // 結果をエキスパートログに出力
   Print("ライセンス種別: ", EnumToString(licenseType));
   Print("説明: ", licenseMsg);
}

このサンプルでは、MQLInfoInteger関数にMQL_LICENSE_TYPEを指定してライセンス情報を取得し、switch文で各ライセンス種別に応じたメッセージを表示しています。

 

【補足】ライセンス情報の定数の列挙型(ENUM_LICENSE_TYPE)

ライセンス情報の定数は、ENUM_LICENSE_TYPE​という列挙型に含まれています。

列挙型は、定数群をひとまとめにしたものです。

以下のように使います。

ENUM_LICENSE_TYPE licenseType = LICENSE_FREE;

上記のようにプログラムすると、licenseType変数に LICENSE_FREEの数値が代入されます。