找回密码
 加入
搜索
查看: 3029|回复: 2

[效率算法] 帮我看段代码,运行结果怎么出现两位数比一位数小的结果【已解决】

[复制链接]
发表于 2011-4-10 14:36:19 | 显示全部楼层 |阅读模式
本帖最后由 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)
发表于 2011-4-10 15:26:23 | 显示全部楼层
回复 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)
 楼主| 发表于 2011-4-10 15:37:06 | 显示全部楼层
谢谢你的回复:
我的意思是:开始min没有数值,我是求最小的值,所以我开始先给个较大的值,当循环一圈后min就有值了,可以和下个数比较了,保留较小的数,我开始从1到20建立20个文件夹,都没有问题,可是中间删除几个就有问题了,有点绕,我在仔细想想!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-19 09:05 , Processed in 0.078720 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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