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

Вниз

Подскажите как удалить папку   Найти похожие ветки 

 
lavgirls   (2008-07-23 17:21) [0]

Подскажите как удалить папку, програмным путем естественно.


 
Palladin ©   (2008-07-23 17:22) [1]

RemoveDir


 
lavgirls   (2008-07-23 17:25) [2]

Благодарствую


 
lavgirls   (2008-07-23 17:37) [3]

А содержимое почему не удалается?


 
sniknik ©   (2008-07-23 17:41) [4]

в сообщении об ошибке которая при этом происходит должно быть написано почему. читай ошибки.


 
Игорь Шевченко ©   (2008-07-23 17:41) [5]

Попробуй SHFileOperation


 
Johnmen ©   (2008-07-23 17:41) [6]


> А содержимое почему не удалается?

А разве должно?


 
lavgirls   (2008-07-23 17:42) [7]

было бы что читать


 
Медвежонок Пятачок ©   (2008-07-23 17:44) [8]

было бы что читать

Понятное дело. Это ж не "мурзилка"


 
sniknik ©   (2008-07-23 17:50) [9]

если нечего то поможет
GetLastError/SysErrorMessage или RaiseLastOSError, Win32Check.


 
Johnmen ©   (2008-07-23 17:53) [10]


> sniknik ©   (23.07.08 17:50) [9]
> ...то поможет GetLastError/SysErrorMessage или
> RaiseLastOSError, Win32Check.

Ты большой оптимист :)


 
Renegat ©   (2008-07-23 17:55) [11]

procedure SLE;
var lpMsgBuf: PChar;
begin
 FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER or FORMAT_MESSAGE_FROM_SYSTEM, 0, GetLastError, LANG_NEUTRAL, @lpMsgBuf, 0, 0);
 MessageBox(0, lpMsgBuf, 0, 0);
 LocalFree(lpMsgBuf);
end;

Не идеал, конечно, но зато можно будет понять в чём дело. Вызывать сразу после выполнения сбоящей процедуры.


 
Ega23 ©   (2008-07-23 17:55) [12]

Собственно, ещё после [1] догадывался, что этим не кончится.
Автор, почитай хелп по RemoveDir.


 
sniknik ©   (2008-07-23 17:56) [13]

> Ты большой оптимист :)
"находит" иногда... ;(


 
Медвежонок Пятачок ©   (2008-07-23 17:58) [14]

Собственно, ещё после [1] догадывался, что этим не кончится.

А я после [0]

:)))


 
Медвежонок Пятачок ©   (2008-07-23 18:03) [15]

procedure SLE;
var lpMsgBuf: PChar;
begin
LocalFree(lpMsgBuf);
end;


HLOCAL LocalFree(
   HLOCAL hMem  // handle of local memory object
  );


 
Медвежонок Пятачок ©   (2008-07-23 18:06) [16]

Хотя гениям конечно простительно. У них D не установлена.


 
Anatoly Podgoretsky ©   (2008-07-23 18:11) [17]

Совет уже был в [5]
Но его надо повторять как мантру.

> Для всех операций с файлами всегда использовать SHFileOperation


 
Renegat ©   (2008-07-23 18:17) [18]

Удалено модератором


 
Медвежонок Пятачок ©   (2008-07-23 18:21) [19]

Удалено модератором


 
Медвежонок Пятачок ©   (2008-07-23 18:23) [20]

Удалено модератором


 
Renegat ©   (2008-07-23 18:25) [21]

Удалено модератором


 
Медвежонок Пятачок ©   (2008-07-23 18:25) [22]

Удалено модератором


 
Медвежонок Пятачок ©   (2008-07-23 18:26) [23]

Удалено модератором


 
Медвежонок Пятачок ©   (2008-07-23 18:29) [24]

Удалено модератором


 
Renegat ©   (2008-07-23 18:31) [25]

Удалено модератором


 
Медвежонок Пятачок ©   (2008-07-23 18:32) [26]

Удалено модератором


 
Медвежонок Пятачок ©   (2008-07-23 18:34) [27]

Удалено модератором


 
Renegat ©   (2008-07-23 18:34) [28]

Удалено модератором


 
Медвежонок Пятачок ©   (2008-07-23 18:38) [29]

Удалено модератором


 
Renegat ©   (2008-07-23 18:42) [30]

Удалено модератором


 
Медвежонок Пятачок ©   (2008-07-23 18:44) [31]

Удалено модератором


 
Тын-Дын ©   (2008-07-23 18:53) [32]

Удалено модератором


 
Anatoly Podgoretsky ©   (2008-07-23 18:54) [33]

Удалено модератором


 
Anatoly Podgoretsky ©   (2008-07-23 18:55) [34]

Удалено модератором


 
Тын-Дын ©   (2008-07-23 18:56) [35]

Удалено модератором


 
Amoeba ©   (2008-07-23 19:01) [36]

Автору вопроса сюда (о SHFileOperation):
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=91


 
Anatoly Podgoretsky ©   (2008-07-23 19:09) [37]

Удалено модератором


 
Тын-Дын ©   (2008-07-23 20:13) [38]

Удалено модератором


 
Denis__ ©   (2008-07-23 20:20) [39]

procedure DelFolder(sPath : String; var DelFilesCount, DelDirsCount,
   NoDelFilesCount, NoDelDirsCount : Integer);
 procedure DF(path : String; var DFC, DDC, NDFC, NDDC : Integer);
 var
   fr : TSearchRec;
 begin
   FindFirst(path + "\*.*", faAnyFile, fr);
   repeat
     if (fr.Name <> ".") AND (fr.Name <> "..") AND
       (fr.Attr AND faDirectory = faDirectory) then
     begin
       DF(path + "\" + fr.Name, DFC, DDC, NDFC, NDDC);
       try
         RmDir(path + "\" +fr.Name);
         Inc(DDC);
       except
         Inc(NDDC)
       end;
     end;
   until FindNext(fr) <> 0;
   FindClose(fr);

   FindFirst(path + "\*.*", faAnyFile, fr);
   repeat
     if (fr.Name <> ".") AND (fr.Name <> "..")
       AND (fr.Attr AND faDirectory <> faDirectory) then
     begin
       if DeleteFile(path + "\" + fr.Name) then
         Inc(DFC)
       else
         Inc(NDFC);
     end;
   until FindNext(fr) <> 0;
   FindClose(fr);
 end;
begin
 DelFilesCount := 0;
 DelDirsCount := 0;
 NoDelFilesCount := 0;
 NoDelDirsCount := 0;
 DF(sPath, DelFilesCount, DelDirsCount, NoDelFilesCount, NoDelDirsCount);
end;

Мастера, покритикуйте код, плиз. Только по теме, что можно улучшить, исправить.


 
Loginov Dmitry ©   (2008-07-23 22:07) [40]

> покритикуйте код, плиз. Только по теме, что можно улучшить,
> исправить.


1) Нет анализа результата функции FindFirst(). Если поиск (вдруг) не начался, то и FindClose() вызывать не следует.
2) Зачем два цикла поиска? Что, одним нельзя обойтись?
3) Функция не удаляет указанную папку. Автор обидется :)
3) Если уж критиковать по полной ;) В чем информативность дополнительных 4х переменный. Можно, чтобы функция возвращала результат, удалось ли удалить содержимое из указанной папки или нет. Еще: каждый раз объявлять 4 переменные - замучаешься. Лучше параметры вместо var сделать PInteger и внутри функции проверять на Assigned().



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

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

Наверх





Память: 0.53 MB
Время: 0.009 c
6-1192736496
DprPasDcu
2007-10-18 23:41
2008.08.31
Как управлять сетевыми подключениями?


2-1216830441
Denis__
2008-07-23 20:27
2008.08.31
Настройки


15-1215692505
i
2008-07-10 16:21
2008.08.31
Смена языка интерфейса в висте..


2-1216711598
OlBan
2008-07-22 11:26
2008.08.31
Отправка sms кириллица через модем


2-1216987008
Delphist
2008-07-25 15:56
2008.08.31
Генератор





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