我现在也正在定义一套语言:没办法,有人就是喜欢xml
XML脚本示例
菜单:
<menu name=”main”>
<menuitem name=”setup” prompt=”设置” act=”fun:readtrk:enc=1” hide=”1” hotkey=”f3” />
<menuitem name=”xxx” prompt=”xxxx” act=”menu:sub1” />
</menu>
<menu name=”sub1”>
<menuitem name=”yyyy” prompt=”222” act=”lib:libreadcard:enc=1” />
<menuitem name=”zzzz” prompt=”xxxx” act=”fun:sdfdsfdfs” />
</menu>
变量:
<var name=”vtrk1” value=”0123” />
<var name=”vtrk2” value=”0123” />
<var name=”vtrk3” value=”0123” />
<var name=”vcode” value=”0”>
<var name=”vpin” value=”0”>
<var name=”vret” value=”0”>
界面:
<form name=”formreadcard”>
<text name=”title” defaulr=”请刷卡” left=”1” top=”1” width=”10” height=”1” font=”...” />
<text name=”prompt” defaulr=”xxxxxxx” left=”2” top=”2” width=”10” height=”3” font=”...” />
<img name=”imgreadcard” left=”5” top=”3” width=”200” height=”80” >
</form>
脚本函数:
<fun name=”readtrk”>
<input name=”enc” default=”1” />
<output name=”trk1” />
<output name=”trk2” />
<output name=”trk3” />
<output name=”code” />
<body>
<showform name=”formreadcard” title=”xxxx” prompt=”yyyyy” />
<calllib name=”libreadcard” trk1data=”trk1” trk2data=”trk2” trk3data=”trk3” retcode=”code” />
</body>
</fun>
具体实现的过程:
...
<label name=”retry” />
<callfun name=”readtrk” enc=”1” trk1=”vtrk1” trk2=”vtrk2” trk3=”vtrk3” code=”vcode” />
<if vcode=”9”>
<calllib name=”showerr” title=”xxxx” prompt=”磁道数据不符合规则” />
<goto name=”retry” />
</if>
<if vcode=”10”>
<calllib name=”showerr” title=”xxxx” prompt=”LRC校验错” />
<goto name=”exit” />
</if>
<callfun name=”send” outdata=”vpin;vtrk2;vtrk3” indata=”vret” />
<label name=”exit” />
...