Comment(MSGARRAY[0], "\n" ,
MSGARRAY[01], "\n" ,
MSGARRAY[02] , "\n" ,
" error:" , err, "\n" ,
"") ;
不截断字符串(见下图中左上角的黄色文本)但是
ObjectCreate(tLabel,23,0,Time[0],PRICE_CLOSE);
ObjectSet(tLabel, OBJPROP_CORNER, myCorner );
ObjectSet(tLabel,OBJPROP_XDISTANCE,xPos);
ObjectSet(tLabel,OBJPROP_YDISTANCE,yPos);
ObjectSetText(tLabel,name,myFontSize,myFont,Color);
截断。
我做错了什么/做错了什么?
谢谢
编辑: 我正在从文件中读取文本,这就是截断发生的地方。
int h = FileOpen(FileName, FILE_TXT|FILE_READ);
if(h != INVALID_HANDLE)
{
Comment("File "+FileName+" not found in MQL FILES FOLDER.");
for (int c=0; !FileIsEnding(h) && c<9999; c++)
{
if (FileIsEnding(h)) break;
MSGARRAY[c]=FileReadString(h);
}
FileClose(h);
}
else
{
Comment(FileName +" not found in MQL FILES FOLDER. OR... File Must Be Open...");
}
答案 0 :(得分:0)
作为对象的文本的最大文本长度为 63 个字符。您可以使用以下代码看到这一点:
string id="test";
ObjectCreate (0, id, OBJ_LABEL, 0, 0, 0);
ObjectSet (id, OBJPROP_CORNER, 0);
ObjectSet (id, OBJPROP_XDISTANCE, 10);
ObjectSet (id, OBJPROP_YDISTANCE, 10);
ObjectSetText (id, "12345678901234567890123456789012345678901234567890123456789012345", 10, "Arial", clrBlack);
解决方案是使用两个对象,您可以使用 TextGetSize()
找到第二个对象的偏移量。