smooth 发表于 2017-3-13 22:31:58

使用For next循环时如表示要循环的最大值?

本帖最后由 smooth 于 2017-3-13 22:38 编辑

使用Fornext循环时,因为不知道需要多少次循环,因此请教如何设置一个AU3能表示的最大数值(大于1的整数,或是自然数?)?

1361739590 发表于 2017-3-14 08:51:36

本帖最后由 1361739590 于 2017-3-15 08:41 编辑

不知道次数那你可以用 while或者 Do.. until 呗
顺便问一下 停止 for 的次数最终是怎么定的,举个例子。

fenhanxue 发表于 2017-3-14 19:50:46

不知道次数,用do   until

Huiseyu 发表于 2017-3-15 08:35:55

本帖最后由 Huiseyu 于 2017-3-15 08:38 编辑

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

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

1>循环次数根据具体情况发生变化$x = $y
for $i = 0 to $x
....
next2>死循环while true
...
endwhile或do
...
until

smooth 发表于 2017-3-18 10:46:33

本帖最后由 smooth 于 2017-3-18 11:07 编辑

不知道次数那你可以用 while或者 Do.. until 呗
顺便问一下 停止 for 的次数最终是怎么定的,举个例子 ...
1361739590 发表于 2017-3-14 08:51 http://www.autoitx.com/images/common/back.gif


用FORNEXT,当匹配到条件,就退出循环了,如果设置一个最大值,没有匹配的条件,也会退出循环。用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

lxwlxwayy 发表于 2017-3-18 12:55:54

总感觉那里不对

1361739590 发表于 2017-3-20 09:16:54

回复 5# smooth


    如果你的匹配到条件是内部的话你自己应该有一个范围吧,可以设定一个时间或者flag。
你说个具体情况看看。
页: [1]
查看完整版本: 使用For next循环时如表示要循环的最大值?