Текущий архив: 2008.05.18;
Скачать: CL | DM;
ВнизНужна функция рекурсивного каталога и всех вложенных в него Найти похожие ветки
← →
Int23 (2008-04-21 17:54) [0]Поделитесь у кого есть, пожалуйста
← →
Kolan © (2008-04-21 17:57) [1]> Нужна функция рекурсивного каталога и всех вложенных в него
Пропущено какое-то слово…
← →
Int23 (2008-04-21 17:58) [2]Нужна функция рекурсивного каталога и всех вложенных в него файлов и каталогов. Т.е. я хочу написать удалить C:\My\Temp\ и нужно удалить всё что есть в C:\My\Temp\ и во всезх вложенных каталогах
← →
easy © (2008-04-21 17:59) [3]http://dfc.com.ru/?sid=2&id=7&itemid=3
← →
Kolan © (2008-04-21 18:11) [4]> Нужна функция рекурсивного каталога и всех вложенных в него
> файлов и каталогов.
Опять слово пропущено…
рекурсивного обхода каталога
рекурсивного удаления каталога
рекурсивного копирования каталога
Чот надо?
> нужно удалитьSHFileOperation
← →
Ega23 © (2008-04-21 18:55) [5]
> C:\My\Temp\ и нужно удалить всё что есть в C:\My\Temp\ и
> во всезх вложенных каталогах
>
см. RxLib unit FileUtils Там было такое.
← →
Anatoly Podgoretsky © (2008-04-21 19:42) [6]> Int23 (21.04.2008 17:58:02) [2]
Зачем мучаешь, мучаешь язык.
От все мучений избавить ShFileOperation
← →
Amoeba © (2008-04-21 23:43) [7]О ShFileOperation автору вопроса читать здесь:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=91
← →
Германн © (2008-04-22 01:06) [8]Хм.
На моей памяти это первый случай, когда не было посылок к хрестоматийному: FindFirst, FindNext, FindClose.
:)
← →
Int23 (2008-04-22 10:08) [9]Спасибо откликнувшимся. Вот на всякий случай привожу здесь функцию, которая удаляет без запроса у пользователя
procedure CreateBuffer(Names : array of string; var P : TBuffer);
var I, J, L : Integer;
begin
for I := Low( Names ) to High( Names ) do
begin
L := Length( P );
SetLength( P, L + Length( Names[ I ] ) + 1 );
for J := 0 to Length( Names[ I ] ) - 1 do
P[ L + J ] := Names[ I, J + 1 ];
P[ L + J ] := #0;
end;
SetLength( P, Length( P ) + 1 );
P[ Length( P ) ] := #0;
end;
function DeleteFiles(Handle : HWnd; Names : array of string; ToRecycle :
Boolean): Integer;
var
SHFileOpStruct : TSHFileOpStruct;
Src : TBuffer;
begin
CreateBuffer( Names, Src );
with SHFileOpStruct do
begin
Wnd := Handle;
wFunc := FO_DELETE;
pFrom := Pointer( Src );
pTo := nil;
fFlags := FOF_NOCONFIRMATION;
if ToRecycle then fFlags := FOF_ALLOWUNDO;
fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
end;
Result := SHFileOperation( SHFileOpStruct );
Src := nil;
end;
Пример вызова
procedure TForm1.Button1Click(Sender: TObject);
begin
DeleteFiles( Handle, [ "C:\AxSystem"], False);
end;
Страницы: 1 вся ветка
Текущий архив: 2008.05.18;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.053 c