ちくしょう!刚才因为传控件时遇到Flash问题,码好的字全消失了!而且没法恢复!💢之前添加控件后忘给某按钮改脚本了,于是造成了If死循环,程序崩溃。后来一想,控制一下不是可以拿它实现
简单循环么,经试验确实可以。“
简单”即
只能用于一次性写入操作,
不能用于锁定保存的循环。
举个简单的例子:
在Frame1窗口中,由Button1按钮实现对地址10000开始,间隔30h的50个地址写入数据1:新建TextBox1,用于写入数据,地址10000。
新建TextBox2,用于控制循环,地址可以空着。
两个TextBox均设置为隐藏,且建议设置为默认禁用,以免干扰其它控件或功能。
新建Button1,功能为只执行脚本。
【红字为仅用于此帖中的注释】Button1脚本:
ClickEnd
{
TextBox1.Address=10000;
'每次执行按钮功能时重新设置控件起始地址TextBox2.Text=0;
'每次执行按钮功能时重新设置控制循环控件的已循环次数TextBox1.Disabled=False;
'暂时将写入数据的控件停止禁用Call.Func(Frame1,Button1,Switch);
'Switch可依自己喜好命名。此处功能为进入脚本的循环控制部分}
Switch
'循环控制部分{
If TextBox2.Text!=50
'判断循环是否已达到要执行的次数Call.Func(Frame1,Button1,Script);
'未达到要执行的次数则进入脚本的数据写入部分Else
TextBox1.Disabled=True;
'已达到时,用于数据写入的脚本恢复禁用Call.MsgBox("完成!");
'已达到时,弹出完成提示【非必要】EndIf
}
Script
'数据写入部分{
TextBox1.Text=1;
'写入数值1。如果全写入同一个数值,此行可移到上方ClickEnd里的Call.Func之前,只循环保存操作,这样能适当提高一点执行效率【通常不明显】。不过要是写入时需要依条件判断是否写入,就必须写在这里了。Call.SaveData(TextBox1);
'保存控件值TextBox1.Address+=30;
'控件的地址增加30,即变为下一次循环时的地址TextBox2.Text+=1;
'循环已执行次数增1。Call.Func(Frame1,Button1,Switch);
'返回循环控制部分,判断是否要执行下一次写入。}
—————————————————不—怎—么—华—丽—的—分—隔—线————————————————————
附件里的cmf就是上述举例的循环,可以拿计算器或者画图之类的程序进行测试。【为直观测试,两个TextBox没有设置隐藏】
- 简单循环功能测试.cmf (, 下载次数:1206)