Чистка диску

Програма Очищення диска видаляє непотрібні, створені в процесі компіляції проєктів C++Builder, файли obj, tds, і резервні копії (~bpr, ~dfm, ~h, ~cpp) із зазначеного користувачем каталогу і всіх його підкаталогів. Для вибору каталогу (папки) використовується стандартне вікно Огляд папок.

Код написання програми

#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
AnsiString aDirectory;
AnsiString cDir;
AnsiString FileExt;
int n = 0;
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if ( SelectDirectory("Виберіть каталог","", aDirectory))
{
// діалог Вибір файлу завершено клацанням на ОК
Label3->Caption = aDirectory;
Button2->Enabled = true;
};
void __fastcall Clear(void)
{
TSearchRec SearchRec; // інформація про файл або каталог
cDir = GetCurrentDir()+"\\";
if ( FindFirst("*.*", faArchive,SearchRec) == 0)
do {
// перевіримо розширення файлу
int p = SearchRec.Name.Pos(".");
FileExt = SearchRec.Name.SubString(p+1,MAX_PATH);
if ( ( FileExt[1] =='-') || ( FileExt == "obj" )
|| ( FileExt == "tds" ) )
{
Form1->Memo1->Lines->Add(cDir+SearchRec.Name);
DeleteFile(SearchRec.Name);
n++;
}
}
while ( FindNext(SearchRec) == 0);
if ( FindFirst("*", faDirectory, SearchRec) == 0)
do
if ((SearchRec.Attr & faDirectory) ==SearchRec.Attr )
{
if (( SearchRec.Name != "." ) &&( SearchRec.Name != ".." ))
{
ChDir (SearchRec. Name) ;
Clear();
ChDir("..");
};
}
while ( FindNext(SearchRec ) == 0 ) ;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1->Clear();
ChDir(aDirectory);
Clear();
Memo1->Lines->Add("");
if (n)
Memo1->Lines->Add("Видалено файлів: " + IntToStr(n));
else
Memo1->Lines->Add("У вказаному каталозі немає файлів, "
"які треба видалити.");
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *