帮我看段代码,运行结果怎么出现两位数比一位数小的结果【已解决】
本帖最后由 zhurongfei 于 2011-4-12 08:58 编辑是这样的,我要获取一个文件夹里所有的文件,求出文件夹名字最小的一个,当让这些文件夹都是数字命名的,比如从1按顺序到20,这20个文件夹,可以得出最小的是1,但是如果中间删除几个文件夹后,最小的文件夹就成了两位数的,不知道我表达的是否清楚,我是新手。下面是代码
$min=9999
$minimum=9999
$Chdir="D:\DOWNLOAD\2011\"
$search = FileFindFirstFile($Chdir&"*.*")
If $search = -1 Then
MsgBox(0, "Error", "No files/directories matched the search pattern")
Exit
EndIf
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
MsgBox(4096, "File:", $file)
if $min > $file then $minimum =$file
$min=$file
WEnd
MsgBox(4096, "File:", $minimum)
FileClose($search) 回复 1# zhurongfei
大概看了下,$min=9999
$minimum=9999 <======之前已经定义 $minimum=9999
.......此处代码忽略.......
if $min > $file then $minimum =$file
上面是判断如果$min > $file 那么$minimum =$file
根据字面的意思可以理解为如果$min < $file 那么$minimum的值还是9999
所以到下面会出错,不知道你看明白了吗?
$min=$file
MsgBox(4096, "File:", $minimum)
谢谢你的回复:
我的意思是:开始min没有数值,我是求最小的值,所以我开始先给个较大的值,当循环一圈后min就有值了,可以和下个数比较了,保留较小的数,我开始从1到20建立20个文件夹,都没有问题,可是中间删除几个就有问题了,有点绕,我在仔细想想!
页:
[1]