B. 是否可reset变数列表内的所有变数?有时不希望保留旧的变数或旧的值,而能和最新的程式同步. 不然还可能输出错误结果!!(尤其是有需要判断变数是否存在时)
此功能已加入 v1.204 , 在程式开始执行后会先清除先前的变数.
C. 之前你回覆的Script,我试了一下,竟然有'ScriptError'!!
AccProgSet('a=' + inttostr(i)); // 同命理程式 [设定:], 可将 Script 的 i 变数设定到命理程式的 a 变数内.
C++ 的字串应该是用 " 双引号, 正确如下:
AccProgSet("a=" + inttostr(i));D. 设定: 本卦#{卦爻$(i)}#的入墓 = 本卦#{卦爻$(i)}#的入墓 + ''卜卦月支','
这种动态设定的变数, 原来以为这样作就一劳永逸, 但没考虑到第一次执行时因为变数本来不存在,所以不能直接累加. 改成如下:
如果:变数存在(本卦#{卦爻$(i)}#的入墓)
否则:
设定:本卦#{卦爻$(i)}#的入墓 = ''卜卦月支','
设定: 本卦#{卦爻$(i)}#的入墓 = 本卦#{卦爻$(i)}#的入墓 + ''卜卦月支','
想把它改成Script的方式,不然每次遇到动态设定的变数都要有一堆字. 请问该怎么改?
可先将变数初设为 '' , 再开始累加即可:
回圈:i=0 到 5
设定: 本卦#{卦爻$(i)}#的入墓=''另外,ACCProgIF()要怎么用?
AccProgIf() 就是命理程式的 "如果:" 指令, 使用如下:
if AccProgIf("a=1") then
AccProgSet("a=2");
if AccProgIf("生年支=子") then
AccProgSet("a=2");
E. 假设一变数 str='ab,bc,def,gh', 要分别取出'ab','bc','def','gh',即以','为分隔,该怎么做?
此功能已加入 v1.204 , 用法如下:
复制程式
设定:str='ab,bc,def,gh'
回圈:i=0 到 隔数(str)-1
设定:s[i]=取隔(str,i)
支援字串内空格, 用法如下:
复制程式
设定:str='ab,bc,' d e f ',gh'
回圈:i=0 到 隔数(str)-1
设定:s[i]=取隔(str,i)