+ -
当前位置:首页 → 问答吧 → 如何得到D盘上所有扩展名为DOC的文件呢?哪位给一个算法和例程?谢谢!!!!

如何得到D盘上所有扩展名为DOC的文件呢?哪位给一个算法和例程?谢谢!!!!

时间:2011-10-17

来源:互联网

如何得到D盘上所有扩展名为DOC的文件呢?哪位给一个算法和例程?谢谢!!!!

作者: billrobin   发布时间: 2011-10-17

看帮助,FindFirst,FindNext

作者: bdmh   发布时间: 2011-10-17

Delphi(Pascal) code


function FindFile(Path: string): string; {搜索文件夹和文件}
var
 Sr: TSearchRec;
  CommaList: TStringList;
  s: string;
  dt: TDateTime;
begin
  commalist := Tstringlist.Create;
  CommaList.Add('DIRLIST');
  try
    Findfirst(path + '*.*', faAnyFile, sr);
    if ((Sr.Attr and faDirectory) > 0) and (Sr.Name <> '.') then
    begin
      dt := FileDateToDateTime(sr.Time);
      s := FormatDateTime('yyyy-mm-dd hh:nn', dt);
      commalist.add('*' + s + sr.name);
    end;
    while findnext(sr) = 0 do
    begin
      if ((Sr.Attr and faDirectory) > 0) and (Sr.Name <> '..') then
      begin
        dt := FileDateToDateTime(sr.Time);
        s := FormatDateTime('yyyy-mm-dd hh:nn', dt);
        commalist.add('*' + s + sr.name);
      end;
    end;
    FindClose(sr);
    FindFirst(path + '*.*', faArchive + faReadOnly + faHidden + faSysFile, Sr);
    if Sr.Attr <> faDirectory then
    begin
      dt := FileDateToDateTime(sr.Time);
      s := FormatDateTime('yyyy-mm-dd hh:nn', dt);
      commalist.add('\' + s+ Format('%.0n', [sr.Size / 1]) + '|' + sr.name);
    end; //Inttostr(
    while findnext(sr) = 0 do
    begin
      if (sr.Attr <> faDirectory) then
      begin
        dt := FileDateToDateTime(sr.Time);
        s := FormatDateTime('yyyy-mm-dd hh:nn', dt);
        commalist.add('\' + s +Format('%.0n', [sr.Size / 1]) + '|' + sr.name);
      end;
    end;
    FindClose(Sr);
  except
  end;
  Result := commalist.Text;     //Result是消息的 定义
  commalist.Free;
end;

*.*换成*.doc,整个驱动盘会很慢

作者: shuaialang   发布时间: 2011-10-17

热门下载

更多