6th
Ноя

Поиск и замена файлов в заданных каталогах

Posted by Chas under Пост-обзор

Например так :

unit Unit1;

interface

uses shellapi,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
  ListBox1: TListBox;
  procedure FormCreate(Sender: TObject);
  private
   { Private declarations }
  public
   { Public declarations }
  end;
  function findA(p:string; var slist:TStringList):variant;
 
var i:integer;
    Form1: TForm1;

implementation

{$R *.dfm}
 
//********** FUNCTION **********
function findA;
var s:TSearchRec; lp,ep,ss:string;k:integer;
begin
  ep:=ExtractFilePath(p)+‘*.*’;
  if FindFirst(ep,faAnyFile, s)=0 then begin
    repeat
      if (s.Name <>‘.’)and(s.Name <>‘..’) then
      begin
        lp:=»;k:=0;
        while k<=i*4 do
        begin
          lp:=lp+‘ ‘;inc(k);
        end;

        if s.Attr=faDirectory then slist.Append(lp+‘['+s.Name+']‘)
        else
        if s.Name=‘Doc1.doc’ then <ЗАМЕНА, хотя я не понимаю что значит "замена">
        slist.Append(lp+s.Name);
        if s.Attr=faDirectory then begin
          inc(i);
          findA(ExtractFilePath(p)+s.Name+‘\’ +ExtractFileName(p), slist);
          dec(i);
        end;
      end;
    until FindNext(s)<>0
  end;
end;

//********** END FUNCTION ****** {}
procedure TForm1.FormCreate(Sender: TObject);
var ts:TStringList;
begin
  ts:=TStringList.Create;
  finda(‘c:\temp\*.*’,ts);
  ListBox1.Items:=ts;
end;

end.

Тема на форуме

Похожие статьи