如何判断目录是否为空?(50分)

  • 主题发起人 主题发起人 scloudy
  • 开始时间 开始时间
S

scloudy

Unregistered / Unconfirmed
GUEST, unregistred user!
我想测试一个目录是否为空。当用到FileExist函数的时候,发现有问题--当目录里有1.txt文件的时候,如果用‘C:/temp/*.*’,返回仍然是false,而如果用‘C:/temp/*.txt’,则返回为true。于是我到codelphi.com上找到一篇文章,上面倒是很详细地列了代码,可是他们也是用FileExist来判断的,我试过后明显还是如此。不知道是怎么回事?(我查过Delphi的WinAPI帮助'FindFirstFile',上面也说可以用通配符的),现在把codelphi上的相关代码贴出来,供各位参考:<br>目录是否为空(CoDelphi.com)<br>Function IsDirEmpty(DirName: String): Boolean;<br>Begin<br>&nbsp; If IsDir(DirName) Then<br>&nbsp; Begin<br>&nbsp; &nbsp; If IsFile(DirName+'/*.*') Then<br>&nbsp; &nbsp; Begin<br>&nbsp; &nbsp; &nbsp; Result := False;<br>&nbsp; &nbsp; End<br>&nbsp; &nbsp; Else<br>&nbsp; &nbsp; Begin<br>&nbsp; &nbsp; &nbsp; Result := True;<br>&nbsp; &nbsp; End;<br>&nbsp; End<br>&nbsp; Else<br>&nbsp; Begin<br>&nbsp; &nbsp; Result := False;<br>&nbsp; End;<br>End;<br><br>Function IsDir(IsDirPath: String): Boolean;<br>Begin<br>&nbsp; Result := DirectoryExists(IsDirPath);<br>&nbsp; Exit;<br>End;<br><br>Function IsFile(DirName: String): Boolean;<br>Begin<br>&nbsp; Result := FileExists(DirName);<br>&nbsp; Exit;<br>End;
 
FileExists支持通配符吗?<br>我觉得不如用FindFirst好,只要判断除了'.', '..'之外还有别的东西就可以肯定是非空
 
不错,findfirst和findnext
 
后退
顶部