Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.07.2006, 04:19
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 559
Версия Delphi: XE5
Репутация: 18
Восклицание очистит папку

Как с помошю делфи очистить какуюта папку например
c:/windows/temp
Ответить с цитированием
  #2  
Старый 15.07.2006, 16:53
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Код:
function ClearDir( Dir: string ): boolean;
var
  isFound: boolean;
  sRec: TSearchRec;
begin
   Result := false;
   ChDir( Dir );
   if IOResult <> 0 then
   begin
      ShowMessage( 'Не могу войти в каталог: ' + Dir );
      Exit;
   end;
   if Dir[Length(Dir)] <> '\' then Dir := Dir + '\';
   isFound := FindFirst( Dir + '*.*', faAnyFile, sRec ) = 0;
   while isFound do
   begin
   if ( sRec.Name <> '.' ) and ( sRec.Name <> '..' ) then
      if ( sRec.Attr and faDirectory ) = faDirectory then
      begin
         if not ClearDir( Dir + sRec.Name ) then
            Exit;
         if ( sRec.Name <> '.' ) and ( sRec.Name <> '..' ) then
            if ( Dir + sRec.Name ) <> Dir then
            begin
               ChDir( '..' );
               RmDir( Dir + sRec.Name );
            end;
      end
      else
         if not DeleteFile( Dir + sRec.Name ) then
         begin
            ShowMessage( 'Не могу удалить файл: ' + sRec.Name );
            Exit;
         end;
      isFound := FindNext( sRec ) = 0;
   end;
   FindClose( sRec );
   Result := IOResult = 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ClearDir( 'C:\Windows\Temp' );
end;
Ответить с цитированием
  #3  
Старый 16.07.2006, 03:51
Аватар для Майняк
Майняк Майняк вне форума
Начинающий
 
Регистрация: 03.02.2006
Адрес: Киров
Сообщения: 198
Репутация: 50
По умолчанию

есть вопрос - есть ответ. Какой вопрос - такой ответ :d
Можно создавать динамически временные Bat-файлы.
Ответить с цитированием
  #4  
Старый 29.07.2006, 02:03
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 559
Версия Delphi: XE5
Репутация: 18
По умолчанию

Попробую и скажу
Ответить с цитированием
  #5  
Старый 03.09.2006, 23:04
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 559
Версия Delphi: XE5
Репутация: 18
Восклицание

function ClearDir( Dir: string ): boolean;
var
isFound: boolean;
sRec: TSearchRec;
begin
Result := false;
ChDir( Dir );
if IOResult <> 0 then
begin
ShowMessage( 'Не могу войти в каталог: ' + Dir );
Exit;
end;
if Dir[Length(Dir)] <> '\' then Dir := Dir + '\';
isFound := FindFirst( Dir + '*.*', faAnyFile, sRec ) = 0;
while isFound do
begin
if ( sRec.Name <> '.' ) and ( sRec.Name <> '..' ) then
if ( sRec.Attr and faDirectory ) = faDirectory then
begin
if not ClearDir( Dir + sRec.Name ) then
Exit;
if ( sRec.Name <> '.' ) and ( sRec.Name <> '..' ) then
if ( Dir + sRec.Name ) <> Dir then
begin
ChDir( '..' );
RmDir( Dir + sRec.Name );
end;
end
else
if not DeleteFile( Dir + sRec.Name ) then
begin
ShowMessage( 'Не могу удалить файл: ' + sRec.Name );
Exit;
end;
isFound := FindNext( sRec ) = 0;
end;
FindClose( sRec );
Result := IOResult = 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ClearDir( 'C:\Documents and Settings\(как поставить сюда имя пользователя из Edit1.text)\Local Settings\Temp' );
end;
Ответить с цитированием
  #6  
Старый 03.09.2006, 23:19
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Код:
ClearDir( 'C:\Documents and Settings\'+Edit1.Text+'\Local Settings\Temp' );
Ответить с цитированием
  #7  
Старый 04.09.2006, 21:14
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 559
Версия Delphi: XE5
Репутация: 18
Восклицание

Спосибо огромное
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:40.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter