下载MetaTrader 5

GetString

可供简便地访问 MQL5 API ObjectGetString() 函数来获取绑定实例的图形类的字符串属性值。函数有两个调用版本:

无需正确性验证即可获取一个属性值

string  GetString(
   ENUM_OBJECT_PROPERTY_STRING  prop_id,         // 字符串属性标识符
   int                          modifier=-1      // 限定符
   ) const

参数

prop_id

[输入]  图形对象的字符串属性值。

modifier=-1

[输入]  限定符 (索引) 字符串特征。

返回值

字符串属性值。

验证处治的正确性再获取属性值

bool  GetString(
   ENUM_OBJECT_PROPERTY_STRING  prop_id,      // 字符串属性标识符
   int                          modifier,     // 限定符
   string&                      value         // 链接到变量
   ) const

参数

prop_id

[输入]  图形对象的字符串属性值。

modifier

[输入]  限定符 (索引) 字符串特征。

value

[输出]  容纳属性字符串值的变量引用。

返回值

true - 如果成功, false - 如果您未能获取一个字符串特征值。

例如:

//--- 例程 CChartObject::GetString
#include <ChartObjects\ChartObject.mqh> 
//--- 
void OnStart() 
  { 
   CChartObject object; 
   string       value; 
   //--- 通过简便方法获取图表名 
   printf("对象名是 '%s'",object.GetString(OBJPROP_NAME)); 
   //--- 通过经典方法获取图表名 
   if(!object.GetString(OBJPROP_NAME,0,value)) 
     { 
      printf("获取字符串属性出错 %d",GetLastError()); 
      return
     } 
   else 
      printf("对象名是 '%s'",value); 
   for(int i=0;i<object.LevelsCount();i++) 
     { 
      //--- 通过简便方法获取水平线描述 
      printf("水平线 %d 描述是 '%s'",i,object.GetString(OBJPROP_LEVELTEXT,i)); 
      //--- 通过经典方法获取水平线描述 
      if(!object.GetString(OBJPROP_LEVELTEXT,i,value)) 
        { 
         printf("获取字符串属性出错 %d",GetLastError()); 
         return
        } 
      else 
         printf("水平线 %d 描述是 '%s'",i,value); 
     } 
  } 


更新: 2017.03.22