s:='';
a := if(s='','s为空','s不为空');
drawtext(ISLASTBAR,L,a);
IF s!='' THEN
BEGIN
p1:STRTONUM( s ), COLORred,linedot;
//转为数字
END
以上同样的语句,在我的主图公式里,输出p1:0
我新建一个新的主图公式,就没有输出
这是为什么呢?
[此贴子已经被作者于2020/3/5 22:33:27编辑过]
s1:=GETINIFILESTRING('c:/jzt_data/mycore/alert_price_current.ini' ,code , 'price');
//读取ini文件中的价格
a := if(s1='','s1为空','s1不为空');
drawtext(ISLASTBAR,L,a);
IF s1!='' THEN
BEGIN
p1:STRTONUM( s1 ), COLORred,linedot;
//转为数字
END
看来关键是在GETINIFILESTRING函数,当它取不到值的时候,返回是不是空字符串呢?
我用a := if(s1='','s1为空','s1不为空');判断,确实是空字符串。
但是,用if 判断,就不行了。
以上语句输出如图:
此主题相关图片如下:sshot-2.png

字符串比较用STRCMP函数。
s1:=GETINIFILESTRING('d:/aaa.ini' ,'code' , 'price1'); //读取ini文件中的价格
a := if(STRCMP( s1,'')=0,'s1为空','s1不为空');
drawtext(ISLASTBAR,L,a);
IF STRCMP( s1,'' )<>0 THEN
BEGIN
p1:STRTONUM(s1), COLORred,linedot; //转为数字
END