为什么文件名变成了‘.’?
我写了一个用来展示计算机系统目录的过程:
procedure TForm1.DisplayDirectory(sPath:string;Node:TTreeNode);
var
CurrentNode:TTreeNode;
sr:TSearchRec;
begin
if FindFirst(sPath+'\*.*',faDirectory,sr)=0 then
begin
if(sr.Attr and faDirectory)<>0 then
if (sr.Name<>'.') and (sr.Name<>'..') then
begin
CurrentNode:=TreeView1.Items.AddChild(Node,sr.Name);
CurrentNode.ImageIndex:=1;
CurrentNode.SelectedIndex:=1;
DisplayDirectory(sPath+'\'+sr.Name,CurrentNode)
end
end
end;
TreeView1是我建的一个树视图构件,用来展示目录结构。我发现程序在运行时有问题:当我设置sPath的初始值为c盘根目录时(即 sPath:=c:),程序显示sr.Name=Documents and Settings,运行没有问题,但再次调用DisplayDirectory过程后,sr.Name='.'。(按道理讲,第二次调用DisplayDirectory过程时,此时的sPath:=c:\Documents and Settings,FindFirst函数应该搜索c:\Documents and Settings目录下的第一个文件目录,找到后结果放置于sr中,sr.Name的值应该是一个目录名,而不应该是'.'呀),我觉得很奇怪???
小弟我是delphi新手,恳请各位大虾帮帮忙,不胜感激!!!