Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.039 c
6-1185709539
Новичек
2007-07-29 15:45
2008.05.18
Работа с Telnet.


15-1207566773
samalex
2008-04-07 15:12
2008.05.18
Подключен-ли сетевой диск?


8-1179992364
namco
2007-05-24 11:39
2008.05.18
Video in Delphi


2-1208361289
Dezigo
2008-04-16 19:54
2008.05.18
Delphi чтиение из фала.


15-1207161946
homm
2008-04-02 22:45
2008.05.18
TWAIN





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский