如何获取某一个目录下的所有文件和目录,如果是文件的话,如何得到文件的完整名称。我写了一段代码,可是只能显示出一个目录或文件。
msgstr='c:\*.*';
if findfirst(msgstr,faAnyFile,SearchRecord)=0 then
begin
if (SearchRecord.Attr and faDirectory )<>0 then
dirtext:='目录:'+SearchRecord.Name+'#10';
//MessageBox(Handle,pChar(SearchRecord.Name),'提示',0);
if (SearchRecord.Attr and faAnyFile)<> 0 then
dirtext:='文件:'+SearchRecord.Name +'#10';
end;
while findnext(SearchRecord)=0 do
begin
if (SearchRecord.Attr and faDirectory)<>0 then
dirtext:='目录:'+SearchRecord.Name+'#10';
if(SearchRecord.Attr and faAnyFile)<>0  then
dirtext:='文件:'+SearchRecord.Name +'#10';
end;
findclose(SearchRecord);

解决方案 »

  1.   

    procedure MySearchExtFile(sPath, Ext : String);
    var
      F : TSearchRec;
      SearchResult : integer;
    begin
      SearchResult := FindFirst(sPath + '\*.*', faAnyFile,F);
      While SearchResult = 0 do
      begin
        if (F.Attr = faDirectory) and (F.name <> '.') and (F.Name <> '..') then
        begin
          MySearchExtFile(sPath + '\' + F.name, EXT);
        end
        else
        begin
          if UpperCase(ExtractFileExt(F.Name)) = Ext then
            Form1.ListBox1.items.add(sPath + '\' + F.name);
        end;
        SearchResult := FindNext(F);
      end;
      FindClose(F);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      MySearchExtFile('D:\Temp', '.DOC');
    end;
      

  2.   

    TFileListBox.FileName
    TFileListBox.Directory