imacros javascript for循环无法正常工作

时间:2014-12-12 19:14:49

标签: javascript for-loop imacros

JS noob在这里。我想在imacros中使用Javascript接口来执行一次性提示,然后根据提示中收到的值继续循环宏。这是我的Javascript:

iimPlay("QTMP3prompt.iim"); 
a = iimGetExtract(1);
b = iimGetExtract(2);
for (i=1;i<=b;i++){
iimSet("!VAR1",a);
iimSet("!VAR2",i);
iimPlay("QTMP3.iim");
}

这是QTMP3prompt.iim:

VERSION BUILD=8871104 RECORDER=FX
PROMPT "Unique string in entry title:" !VAR1
ADD !EXTRACT !VAR1
PROMPT "Number of entries" !VAR1 1
ADD !EXTRACT !VAR1

第一个提示应该是一串字母,如 Barry rry 。第二个提示应该是一个数字,例如 2 。这是QTMP3.iim:

VERSION BUILD=8810214 RECORDER=FX
TAB T=1
SET !TIMEOUT_STEP 90
TAG POS=1 TYPE=H3 ATTR=TXT:*{{!VAR1}}*
TAG POS=R{{!VAR2}} TYPE=A ATTR=TXT:Add<SP>Derivative
TAG POS=1 TYPE=LABEL FORM=ID:claf_form ATTR=TXT:Quicktime<SP>7,<SP>MediumBitrate:<SP>400<SP>kbpsDimensions:*
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:claf_form ATTR=ID:claf_submit_button
TAG POS=1 TYPE=H3 ATTR=TXT:*{{!VAR1}}*
TAG POS=R{{!VAR2}} TYPE=A ATTR=TXT:Add<SP>Derivative
TAG POS=1 TYPE=LABEL FORM=ID:claf_form ATTR=TXT:Audio<SP>only*MP3<SP>128kbps*
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:claf_form ATTR=ID:claf_submit_button

脚本似乎正常工作,直到它到达for循环。但它只是在没有执行QTMP3.iim而没有任何错误消息的情况下停止。谁能解释我的错误在哪里?

编辑:我确定在设置变量a和b时出现问题。它们都设置为 Barry [EXTRACT] 2 。所以iimGetExtract()无法解析提取。

编辑:通过使用iimGetLastExtract()代替修复了这个问题(奇怪的,imacros Wiki说它已经过时了)。现在QTMP3.iim播放,但是!VAR1未定义。所以我不知道在for循环中没有设置!VAR1。

编辑:我换了!VAR1和!VAR2分别用于我自己的用户定义变量 string number ,一切正常。 imacros Wiki说你可以使用iimSet来设置内置变量,但显然我做错了。

1 个答案:

答案 0 :(得分:0)

以这种方式写下:

ADD !EXTRACT {{!VAR1}}