以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- IF THEN BEGIN 为何条件不成立,也执行里边的语句?? (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=174799) |
-- 作者:期货大圣 -- 发布时间:2020/3/5 22:31:41 -- IF THEN BEGIN 为何条件不成立,也执行里边的语句?? 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编辑过]
|
-- 作者:期货大圣 -- 发布时间:2020/3/5 22:45:17 -- 上边的输出是正确的,请看下边语句 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 判断,就不行了。 以上语句输出如图:
|
-- 作者:wenarm -- 发布时间:2020/3/5 23:52:47 -- 字符串比较用STRCMP函数。
s1:=GETINIFILESTRING(\'d:/aaa.ini\' ,\'code\' , \'price1\'); //读取ini文件中的价格
|