Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.18;
Скачать: CL | DM;

Вниз

Нужна функция рекурсивного каталога и всех вложенных в него   Найти похожие ветки 

 
Int23   (2008-04-21 17:54) [0]

Поделитесь у кого есть, пожалуйста


 
Kolan ©   (2008-04-21 17:57) [1]

> Нужна функция рекурсивного каталога и всех вложенных в него

Пропущено какое-то слово&#133


 
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]

> Нужна функция рекурсивного каталога и всех вложенных в него
> файлов и каталогов.

Опять слово пропущено&#133

рекурсивного обхода каталога
рекурсивного удаления каталога
рекурсивного копирования каталога

Чот надо?


> нужно удалить

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
15-1207544272
Игорь Шевченко
2008-04-07 08:57
2008.05.18
McSimm, с днем рождения!


2-1208841788
vajo
2008-04-22 09:23
2008.05.18
Можно ли сократить запись стороки


2-1208717661
jahman
2008-04-20 22:54
2008.05.18
всё уменьшается в размере!


3-1197026335
iZEN
2007-12-07 14:18
2008.05.18
Скопировать значения поля из одной таблицы в другую.


6-1186750392
Любитель
2007-08-10 16:53
2008.05.18
"Кто" куда лазает?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский