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

Вниз

Не могу удалить каталог, что за дела.........   Найти похожие ветки 

 
Filat   (2002-07-17 21:20) [0]

Из FAQ взял следующий код:
function TMain_kb.DeleteDir(Dir : String) : boolean;
var
Found:Integer;
SearchRec:TSearchRec;
begin
result:=False;
if IOResult<>0 then
ChDir(Dir);

{if IOResult<>0 then} <- Если убрать скобки, переполнение стека ????

begin
ShowMessage ("Не могу войти в каталог: "+Dir);
exit;
end;
Found:=FindFirst("*.*",faAnyFile, SearchRec);
while Found = 0 do
begin
if (SearchRec.Name<>".") and (SearchRec.Name<>"..") then
if (SearchRec.Attr and faDirectory) <> 0 then begin
if not DeleteDir (SearchRec.Name) then exit;
end else
if not DeleteDir(SearchRec.Name) then begin
ShowMessage("Не могу удалить файл: "+SearchRec.Name);;
exit;
end;
Found:=FindNext(SearchRec);
end;
FindClose(SearchRec);
ChDir("..");
RmDir(Dir);
result:=IOResult=0;
end;

При выполнении функции доходит до ShowMessage ("Не могу войти в каталог: "+Dir);
и всё, как заставить удалить нужный мне каталог D:\Program Files\Kl_n\20020717 <-
В ShowMessage строка D:\Program Files\Kl_n\
Подскажите пожалуйста.


 
Song   (2002-07-17 21:33) [1]

Значит у Вас не выполняется команда ChDir(). Вообще странно.
Используте ShFileOperation() - 5 строк за место всего этого текста.


 
Юрий Зотов   (2002-07-17 22:35) [2]

Каталог может не удалиться, если он в данный момент является текущим для какой-либо программы.


 
Filat   (2002-07-18 10:59) [3]

-->> Song ©
Я уже в нескольких примерах встречал использоваине ShFileOperation(), но они у меня не работали, мабуть надо какой то модуль подключить, но какой?

-->> Юрий Зотов ©
Каталог 20020717 создаётся по текущей дате, т.е. новая дата, новый каталог, внутри - таблицы рабочего дня, текущего или прошедшего. В конечном итоге мне надо будет его архивировать, архив перекладывать в каталог архивов, а этот каталог удалять.
Если перед удалением каталога все TTable:=False; этого будет достаточно, чтобы его удалить, или могут быть ещё подводные камни......

Спасибо.


 
Song   (2002-07-18 13:35) [4]

2Filat © (18.07.02 10:59)
ShellApi ?



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

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

Наверх





Память: 0.56 MB
Время: 0.025 c
3-95211
Nicolaus
2002-07-05 11:45
2002.07.29
TOracleQuery -> DBGrid


8-95460
Поно
2002-03-21 20:30
2002.07.29
Как проиграть в своей проге два аудио файла одновременно


14-95543
Dr. Web
2002-07-02 13:03
2002.07.29
Mastak ICQ :)


1-95309
AlexAlex
2002-07-16 18:00
2002.07.29
Программное управление положением подписей (Mark) в TChart


3-95182
sdram
2002-07-05 16:25
2002.07.29
Как присвоить полю базы значение?





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