怎样从一个目录下读取其子目录与文件?

解决方案 »

  1.   

    procedure GetDirectories(list: TlistView; Directory: string; Item: Tlistitem; IncludeFiles: boolean);
    var
    SearchRec: TSearchRec;
    begin
    list.Items.BeginUpdate;
    list.Items.Clear;
    if Directory[length(Directory)] <> '\' then
    Directory := Directory + '\';  
    if FindFirst(Directory + '*.*',faDirectory,SearchRec) = 0 then
    begin
    repeat
    if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name[1] <> '.') then
    begin
    if (SearchRec.Attr and faDirectory > 0) then
    begin Item := list.Items.Add;
    item.Caption:=SearchRec.Name;
    item.ImageIndex:=6;
    end;
    GetDirectories(list,Directory + SearchRec.Name,Item,IncludeFiles);
    end
    else
    if IncludeFiles then
    if SearchRec.Name[1] <> '.' then
    begin
    item:=list.Items.Add;
    item.Caption:=SearchRec.Name;
    item.ImageIndex:=6;
    end;
    until FindNext(SearchRec) <> 0;
    //FindClose(SearchRec);
    end;
    list.Items.EndUpdate;
    end;function findfile(atable:tcustomadodataset;localfilename:string;fieldname:string):boolean;
    begin
     if atable.Locate(''+fieldname+'',localfilename,[]) then
      result:=true
     else
      result:=false;
    // if bb=1 then begin
    //  if trim(atable.Fields[2].asstring)=remotefnam then
    //   result:=true
    //  else
    //   result:=false;
    // end
    end;