オブジェクトプロパティ値を取得 ObjectGetString 関数

関数

オブジェクト関数

ObjectGetString 関数

 この関数は、引数にチャートIDとオブジェクト名を指定して、そのオブジェクトのプロパティ値(string型)を取得します。
 取得するオブジェクトプロパティはstring型である必要があります。

 ObjectGet関数と動作は似ていますが、引数にチャートIDの使用有無で違いがあります。

データ型と構成・戻り値

 データ型は 2種類あります。

string ObjectGetString(①,②,③,④);
bool   ObjectGetString(①,②,③,④,⑤);

 double型の戻り値は、指定したオブジェクトのプロパティ値(string型)を返します。
 bool型の戻り値は、⑤に値が設定されプロパティ値が成立する場合 ture、それ以外は falseを返します。

 発生するエラーについては、GetLastError関数で取得することが出来ます。

引数 [5]

 ObjectGetString関数は 5個の引数で構成されます。


引数名データ型単位初期値説明
chart_idlongチャートIDを指定します。現在のチャートIDは「0」を指定するか、ChartID関数を使うことで取得できます。
object_namestringチャート上に描画されているオブジェクト名を指定します。
prop_idintオブジェクトのプロパティID。
ENUM_OBJECT_PROPERTY_STRING 列挙値から選択。
prop_modifierint0指定したプロパティの修飾子。
これは、フィボナッチツールとオブジェクトタイプの OBJ_PITCHFORK で必要になります。
string_varstring&取得したプロパティ値を設定します。
※初期値があるものは省略可。但し、省略した引数以降は省略しなければなりません。bool型でObjectGetString関数を使用する時は省略できません。

使用例

ObjectGetString関数によるオブジェクトプロパティ値の取得

 ObjectSetText関数で描画したテキスト内容を、ObjectGetString関数を使って内容を取得します。

コード

// ObjectGetString関数によるオブジェクト文字列の取得
#property strict

void OnInit() {

int xpixcel = (int)(ChartGetInteger(0,CHART_WIDTH_IN_PIXELS));
int fontsize = 15;
int xWidth = xpixcel - 200;                       // 幅
int yHeight = 20;                                 // 高さ

ObjectsDeleteAll();                               // オブジェクト全削除
ObjectCreate("obj_text", OBJ_LABEL,0,0,0);        // テキストラベルオブジェクト生成
ObjectSet("obj_text", OBJPROP_XDISTANCE,xWidth);  // テキストラベルオブジェクトX軸位置設定
ObjectSet("obj_text", OBJPROP_YDISTANCE,yHeight); // テキストラベルオブジェクトY軸位置設定
ObjectSetText("obj_text", "フランのなるほどMT4", fontsize , "MS ゴシック" , clrYellow); // テキスト設定

Print("テキスト内容      :", ObjectGetString(0,"obj_text", OBJPROP_TEXT)); // テキスト内容
Print("テキストのフォント:", ObjectGetString(0,"obj_text", OBJPROP_FONT)); // テキスト使用フォント
}

void OnDeinit(const int reason) {
   ObjectsDeleteAll();
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果 

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