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)