找回密码
 加入
搜索
查看: 2548|回复: 6

[AU3基础] 使用For next循环时如表示要循环的最大值?

  [复制链接]
发表于 2017-3-13 22:31:58 | 显示全部楼层 |阅读模式
本帖最后由 smooth 于 2017-3-13 22:38 编辑

使用For  next循环时,因为不知道需要多少次循环,因此请教如何设置一个AU3能表示的最大数值(大于1的整数,或是自然数?)?
发表于 2017-3-14 08:51:36 | 显示全部楼层
本帖最后由 1361739590 于 2017-3-15 08:41 编辑

不知道次数  那你可以用 while  或者 Do.. until 呗
顺便问一下 停止 for 的次数最终是怎么定的,举个例子。
发表于 2017-3-14 19:50:46 | 显示全部楼层
不知道次数,用do   until
发表于 2017-3-15 08:35:55 | 显示全部楼层
本帖最后由 Huiseyu 于 2017-3-15 08:38 编辑

因为不知道需要多少次循环?

根据题意可能有两种情况:

1>循环次数根据具体情况发生变化
$x = $y
for $i = 0 to $x 
....
next
2>死循环
while true
...
endwhile
do
...
until
 楼主| 发表于 2017-3-18 10:46:33 | 显示全部楼层
本帖最后由 smooth 于 2017-3-18 11:07 编辑
不知道次数  那你可以用 while  或者 Do.. until 呗
顺便问一下 停止 for 的次数最终是怎么定的,举个例子 ...
1361739590 发表于 2017-3-14 08:51



用FOR  NEXT,当匹配到条件,就退出循环了,如果设置一个最大值,没有匹配的条件,也会退出循环。用DO   UNTIL,如果没有合适的值,就陷入死循环了,除非你能确信,必定有匹配的值出现。并且,需要用到FOR NEXT的地方,用DU UNTIL就不合适了。比如:

Local $jc, $ms, $jm, $ym, $bm
For $jc = 1 To 0x7fffffff
        If Mod((19 * $jc + 1), 17) = 14 And Mod((19 * $jc + 1), 12) = 1 Then
                $jc = $jc
                $ms = 19 * $jc + 1
                $jm = $ms - 1
                $ym = $ms - 14
                $bm = $ms - 1
                ExitLoop
        EndIf
Next
发表于 2017-3-18 12:55:54 | 显示全部楼层
总感觉那里不对
发表于 2017-3-20 09:16:54 | 显示全部楼层
回复 5# smooth


    如果你的匹配到条件是内部的话你自己应该有一个范围吧,可以设定一个时间或者flag。
你说个具体情况看看。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 07:32 , Processed in 0.085618 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表