请教一个关于文件查找的问题
$flag=FileFindFirstFile("*.rar")While 1
$file=FileFindNextFile($flag)
If @error Then
MsgBox(0,"","没有了!")
Exit
EndIf
MsgBox(0,"",$file)
WEnd
上面的代码可以被正确执行,但是如果将
MsgBox(0,"",$file)
放在IF...endif前面的话,为什么会有无数个"空的"MsgBox()出来呢??最多也应该只是有一个吧?? IF是个判断语句,then才会执行,你放到IF前面就是无限循环了! 楼主 你知道@error 是哪句话的返回值吗
你把位置换了一下 味道直接就变了哦 回复 2# gzh888666
then 后面的语句会不会执行取决于判断条件 是否成立吧??当函数FileFindNextFile()没有找到下一个匹配的文件时就会将@error置为1,然后执行到if语句,判断条件成立,then的里面的语句就会执行,不是吗? 你那个@error是针对什么的,msgbox的返回值(放前面的情况下)? 回复 5# netegg
我查看了下@error的值,为什么当FileFindNextFile()没有搜索到下一个匹配的文件时,没有把@error的值改成1呢??(这导致了then的语句一直没有被执行,成了死循环了`~) 论坛有例子你有搜索看一下 @error是个宏,不是你琢磨着怎么来就怎么来的,它只跟着紧邻的命令跑 回复 7# xz00311
那个例子用了好多个会改变@error的函数,我这个除了Filefindnextfile()外,没有其它会改变它的吧??
页:
[1]