Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Удалить из директории проекта лишние файлы

Delphi , Программа и Интерфейс , Приложение своё

Удалить из директории проекта лишние файлы

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

program Clean;

 { 
  The program registers as a explorer extension. 
  Use rightclick on a Delphiproject directory and choose Clean Delphi files. 
  Place the executable somewhere in program files and run once. 

  Dieses Program registriert sich beim Ausfuhren als 
  Explorer-Erweiterung. 
  Mit einem Rechtsklick auf ein Delphi Verzeichnis und 
  einem Klick auf "Clean Delphi files" werden die Verzeichnisse "aufgeraumt". 
}

 uses
   SysUtils, Registry, WinTypes, FileCtrl;

 var
   dir: string;

 const
   // HKEY_CLASSES_ROOT 
  DirExtensionKey = 'Directory\shell\clean';
   SubKey = '\command';

 procedure PerformAction(const dir, fname: string);
   // Set selected attributes for a file. 
begin
   if not SysUtils.DeleteFile(dir + fname) then
   begin
   end;
 end;

 procedure ScanDirectory(const dir, filemask: string);
   // Call performaction for every file which looks like filemask 
var
   SearchRec: TSearchRec;
 begin
   if not DirectoryExists(dir) then
   begin
     MessageBox(0, 'Directory not found', 'Clean', mb_ok);
     Halt;
   end;
   if dir <> '' then ChDir(dir);
   // Search subdirs ? 
  if True then
   begin
     if FindFirst('*.*', faDirectory, SearchRec) = 0 then
       repeat
         if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') and
           ((SearchRec.Attr and faDirectory) = faDirectory) then
           ScanDirectory(SearchRec.Name, filemask);
       until (FindNext(SearchRec) <> 0);
     SysUtils.FindClose(SearchRec);
   end;
   // Ennumerate all files in current directory 
  if FindFirst(filemask, faAnyFile, SearchRec) = 0 then
     repeat
       if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') and
         ((SearchRec.Attr and faDirectory) = 0) then
         PerformAction('', SearchRec.Name);
     until (FindNext(SearchRec) <> 0);
   SysUtils.FindClose(SearchRec);
   // Directory up 
  Chdir('..');
 end;

 procedure DoPopupReg;
 var
   reg: TRegistry;
 begin
   try
     reg := TRegistry.Create;
   except
     Exit;
   end;
   if True then
     with reg do
     begin
       RootKey := HKEY_CLASSES_ROOT;
       OpenKey(DirExtensionkey, True);
       WriteString('', 'Clean Del&phi files');
       CloseKey;
       OpenKey(DirExtensionkey + SubKey, True);
       WriteString('', ParamStr(0) + ' "%1"');
       CloseKey;
     end
   else
     with reg do
     begin
       RootKey := HKEY_CLASSES_ROOT;
       DeleteKey(DirExtensionkey);
       CloseKey;
     end;
   reg.Free;
 end;

 begin
   DoPopupReg;
   if ParamCount > 0 then dir := ParamStr(1)
   else
      Exit;
   ScanDirectory(dir, '*.dcu');
   ScanDirectory(dir, '*.~*');
   // You can add more files here 
end.

Программа на Delphi, предназначенная для очистки ненужных файлов в директории, содержащей проект Delphi. Программа может быть зарегистрирована как расширение Explorera, позволяя пользователям править на проектной директории и выбрать "Clean Delphi files" для удаления нежелательных файлов.

Программа работает следующим образом:

  1. Использует процедуру ScanDirectory для поиска файлов в указанной директории и ее поддиректориях.
  2. Процедура PerformAction вызывается для каждого файла, соответствующего конкретному маске (в этом случае, файлы с расширениями .dcu или ~*). Если файл существует, он удаляется с помощью функции DeleteFile.

Программа также включает в себя функцию DoPopupReg, которая зарегистрирует и отзывает расширение Explorera.

Вот некоторые предложения по улучшению программы:

  1. Программу можно сделать более устойчивой, добавив обработку ошибок для потенциальных проблем, таких как ошибки файловой системы, недопустимые пути директорий или недостаточные права доступа.
  2. Маски файлов, используемые в процедуре ScanDirectory, можно сделать более гибкими, чтобы пользователи могли указать свои собственные фильтры.
  3. Программа могла включать в себя подтверждение перед удалением файлов, позволяя пользователям просмотреть список файлов для удаления и отменить операцию, если необходимо.
  4. Функции программы, связанные с регистрацией, могли быть улучшены использованием более конкретных ключей и значений, а не полагаясь на жесткие строки.

В целом, хотя эта программа функционирует, есть несколько областей, где она могла быть улучшена для создания более пользовательского и устойчивого программного обеспечения.

Удаление лишних файлов из директории проекта с помощью программы Clean Delphi Files.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




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


:: Главная :: Приложение своё ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-29 01:15:52/0.0036840438842773/0