Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2013, 17:28   #1
ЮляЮлия
Пользователь
 
Регистрация: 24.11.2013
Сообщений: 13
По умолчанию удаление каталога

Добрый вечер! Прошу помощи! Помогите пожалуйста!
У меня такая проблема....если я хочу удалить не пустой каталог,то ничего не выходит
Что исправить?
Код:
var keys,f:string;
      p,s:boolean;
      n,i:integer;
Begin
if error(comu) then exit;
delete(comu,1,6);{Вырезаем команду из строки}
keys := '';
if pos('-',comu) <> 0 then
 begin{Параметры команд}
  keys := Copy(comu,1,pos(' ',comu));
  delete(comu,1,pos(' ',comu));
 end;{Логические флаги}
if pos('p',keys) <> 0 then p := true
                      else p := false;
if pos('s',keys) <> 0 then s := true
                      else s := false;
f := comu;
{$I-} RmDir(f); {$I+}
if IOResult <> 0 then
 begin
  if not s then writeln('Каталог не существует или содержит файлы!');
  exit;
 end;
writeln('Каталог ', f, ' удален.');
if p then
 begin
  if pos('\',f) = 0 then
   begin
    GetDir(0,f);
    ChDir('..');
   end
                     else
   begin
    for i := 1 to length(f) do
    if f[i] = '\' then n := i;
    f[0] := Chr(n - 1);
   end;
 RmDir(f);
  end;
End;

Последний раз редактировалось Stilet; 10.12.2013 в 18:25.
ЮляЮлия вне форума Ответить с цитированием
Старый 10.12.2013, 17:42   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Вариант 1
http://articles.org.ru/cn/showdetail.php?cid=7175
Вариант 2
Выполнить exec для команды dos rd -r
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 16.12.2013, 11:17   #3
ЮляЮлия
Пользователь
 
Регистрация: 24.11.2013
Сообщений: 13
По умолчанию

А как если с помощью FindFirst и FindNext ?
ЮляЮлия вне форума Ответить с цитированием
Старый 16.12.2013, 11:21   #4
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Вариант № 1 именно так и работает.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 16.12.2013, 11:24   #5
ЮляЮлия
Пользователь
 
Регистрация: 24.11.2013
Сообщений: 13
По умолчанию

он неисправно работает...не удаляет каталог и его родительский...
ЮляЮлия вне форума Ответить с цитированием
Старый 16.12.2013, 11:48   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от ЮляЮлия Посмотреть сообщение
он неисправно работает...не удаляет каталог и его родительский...
Приведите пример, когда код работает неверно!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c# удаление каталога world12_tk Помощь студентам 12 08.01.2011 11:29
Удаление каталога Linel PHP 11 10.03.2010 17:31
Удаление каталога Manager Общие вопросы C/C++ 1 24.10.2009 11:30
удаление каталога Volkogriz Общие вопросы Delphi 7 23.12.2008 19:36
Удаление непустого каталога Fia Общие вопросы Delphi 3 07.05.2007 14:11