
Последние записи
- Прозрачность тайлсета в TPNGImage
- Как сделать VBA макрос в excel
- Поиск по столбцу 1-ого не нулевого значения (формулой в Microsoft Office Excel)
- Простановка единиц в ячейки под объектами (Microsoft Office Excel)
- Расчет затраченного времени между определенным рабочим временем (формулой в Microsoft Office Excel)
- Мигающий экран на Assembler
- VBA-макрос по копированию 10 строчек в выбранном диапазоне в Microsoft Office Excel
- Копирование только нужного диапазона в Microsoft Office Excel
- Перенос диапазона стоки в Microsoft Office Excel на другой лист по условию
- Мелодия в Pascal.ABC.Net с помощью System.Console.Beep — задержка воспроизведения звука

6th
Ноя
Поиск и замена файлов в заданных каталогах
Posted by Chas under Пост-обзор
Например так :
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.