列出目录下文件出现的问题???(50分)

  • 主题发起人 jiangpengxmaya
  • 开始时间
J

jiangpengxmaya

Unregistered / Unconfirmed
GUEST, unregistred user!
我用如下代码列出一个目录下的文件:
var
i:integer;
Myfile:TSearchRec;
FindResult:integer;
str:string;
begin
//str是文件目录地址
FindResult := FindFirst(str+'/*.*',faAnyFile,myfile);
while FindResult = 0 do
begin
ListBox1.Items.Add(str+'/'+myfile.Name);
memo_wenjian.Lines.Add(myfile.Name);
FindResult := FindNext(myfile);
end;
FindClose(myfile);
end;
可是listbox1和memo_wenjian中会多显示两项是:.和..;请问这是为什么,如何解决这个问题;
另外一个是如何获取目录下每一个文件的文件大小??
谢谢
在线等待
 
代码如下可以解决了:
while FindResult = 0 do
begin
if (myfile.Attr<>16) and (myfile.Attr<>8) then
begin
ListBox1.Items.Add(str+'/'+myfile.Name);
memo1.Lines.Add(myfile.Name);
end;
FindResult := FindNext(myfile);
end;
 
如果你用过Dos或Dos窗口,就知道'.'和'..'是本级目录和上级目录,你敲一下dir命令就知道了。
 
能不能解释:
if (myfile.Attr<>16) and (myfile.Attr<>8)的具体的意思!!谢谢!
 
顶部