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

Вниз

DeleteFolder   Найти похожие ветки 

 
TStas ©   (2006-02-18 22:50) [0]

Не нашел, в каком модуле описана эта функция. Пробовал
if FindFirst(Path+"\*.*", faAnyFiles, SR)=0 then
repeat
if (sr.Name<>".") and (sr.Name<>"..") then
AssignFile(f, Path+"\"+sr.Name);
Erase(f);
until FindNext(sr)<>0
Так стараю сами файлы
А вот дальше не получается, папка ведь должна быть пустой, чтобы ее стереть. А как это выяснить? Наверно, от неприятностей на работе отупел


 
McSimm ©   (2006-02-19 01:25) [1]

DeleteFile(имя файла) - можно без AssignFile обойтись
Обходить возможно придется рекурсивно - вложенные папки.

Вот функция из RxLib

function ClearDir(const Path: string; Delete: Boolean): Boolean;
const
{$IFDEF WIN32}
 FileNotFound = 18;
{$ELSE}
 FileNotFound = -18;
{$ENDIF}
var
 FileInfo: TSearchRec;
 DosCode: Integer;
begin
 Result := DirExists(Path);
 if not Result then Exit;
 DosCode := FindFirst(NormalDir(Path) + "*.*", faAnyFile, FileInfo);
 try
   while DosCode = 0 do begin
     if (FileInfo.Name <> ".") and (FileInfo.Name <> "..") and (FileInfo.Attr <> faVolumeID) then
     begin
       if (FileInfo.Attr and faDirectory = faDirectory) then
         Result := ClearDir(NormalDir(Path) + FileInfo.Name, Delete) and Result
       else if (FileInfo.Attr and faVolumeID <> faVolumeID) then begin
         if (FileInfo.Attr and faReadOnly = faReadOnly) then
           FileSetAttr(NormalDir(Path) + FileInfo.Name, faArchive);
         Result := DeleteFile(NormalDir(Path) + FileInfo.Name) and Result;
       end;
     end;
     DosCode := FindNext(FileInfo);
   end;
 finally
   FindClose(FileInfo);
 end;
 if Delete and Result and (DosCode = FileNotFound) and
   not ((Length(Path) = 2) and (Path[2] = ":")) then
 begin
   RmDir(Path);
   Result := (IOResult = 0) and Result;
 end;
end;


 
Гаврила ©   (2006-02-19 11:40) [2]

Можно воспользоваться функцией ShFileOperation
она может удалить непустую папку, в том числе в корзину, в общем - там много вариантов, настраиваемых флагами



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.011 c
2-1140182876
Newbee
2006-02-17 16:27
2006.03.05
Подскажите, почему не работает ?


1-1138627845
Opilki_Inside
2006-01-30 16:30
2006.03.05
Перевод даты в строгу с заданым форматом


1-1138557975
Alik7107
2006-01-29 21:06
2006.03.05
Сдвиг image вправо в TComboBoxEx


2-1140240800
Начинающий5
2006-02-18 08:33
2006.03.05
Редактирование данных в запросе


15-1139654316
s65
2006-02-11 13:38
2006.03.05
тест мини оперы





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