xue@0: /* xue@0: Harmonic Visualiser xue@0: xue@0: An audio file viewer and editor. xue@0: Centre for Digital Music, Queen Mary, University of London. xue@0: This file copyright 2011 Wen Xue. xue@0: xue@0: This program is free software; you can redistribute it and/or xue@0: modify it under the terms of the GNU General Public License as xue@0: published by the Free Software Foundation; either version 2 of the xue@0: License, or (at your option) any later version. xue@0: */ xue@0: //--------------------------------------------------------------------------- xue@0: xue@0: #include xue@0: #include xue@0: #include xue@0: #pragma hdrstop xue@0: xue@0: #include "BackUpTool.h" xue@0: //--------------------------------------------------------------------------- xue@0: #pragma package(smart_init) xue@0: #pragma resource "*.dfm" xue@0: #pragma link "vclx.lib" xue@0: TBackupForm1 *BackupForm1; xue@0: //--------------------------------------------------------------------------- xue@0: __fastcall TBackupForm1::TBackupForm1(TComponent* Owner) xue@0: : TForm(Owner) xue@0: { xue@0: AnsiString ApplicationIni=ChangeFileExt(Application->ExeName, ".ini"); xue@0: TIniFile* Ini=new TIniFile(ApplicationIni); xue@0: ExtText=Ini->ReadString("BackUpForm", "Ext", ".bpr .bpk .dfm .cpp .ini .dsk .h .hpp .res .rc .dcr"); xue@0: Edit1->Text=ExtText; xue@0: Edit2->Text=Ini->ReadString("BackUpForm", "Rar", "WinRAR.exe"); xue@0: Edit3->Text=Ini->ReadString("BackUpForm", "Directory", ExtractFileDir(Application->ExeName)); xue@0: delete Ini; xue@0: } xue@0: //--------------------------------------------------------------------------- xue@0: void __fastcall TBackupForm1::Button1Click(TObject *Sender) xue@0: { xue@0: AnsiString Exts=Edit1->Text.LowerCase(); xue@0: AnsiString Dir=Edit3->Text; xue@0: AnsiString TimeString=Now().FormatString("yymmddhhmmss"); xue@0: AnsiString TempDir="C:\\Temp\\"+ExtractFileName(Dir)+TimeString; xue@0: if (!DirectoryExists(TempDir)) ForceDirectories(TempDir); xue@0: xue@0: SetCurrentDir(Dir); xue@0: TSearchRec F; xue@0: if (FindFirst("*.*", 0x2f, F)==0) xue@0: { xue@0: do xue@0: { xue@0: AnsiString FileName=F.Name; xue@0: AnsiString FileExt=ExtractFileExt(FileName).LowerCase(); xue@0: if (Exts.Pos(FileExt)>0) xue@0: { xue@0: AnsiString NewFileName=TempDir+"\\"+FileName; xue@0: CopyFile(FileName.c_str(), NewFileName.c_str(), false); xue@0: } xue@0: } xue@0: while (FindNext(F)==0); xue@0: } xue@0: xue@0: AnsiString ArchivName="..\\"+ExtractFileName(Dir)+TimeString+".rar"; xue@0: AnsiString command="\""+Edit2->Text+"\""+" a -r -ep1 "+ArchivName+" "+TempDir; xue@0: Memo1->Lines->Add(AnsiString(">>")+ExtractFileName(ArchivName)+"..."); xue@0: system(command.c_str()); xue@0: Memo1->Lines->Add(">>"); xue@0: Memo1->Lines->Add(""); xue@0: } xue@0: //--------------------------------------------------------------------------- xue@0: void __fastcall TBackupForm1::Button2Click(TObject *Sender) xue@0: { xue@0: Close(); xue@0: } xue@0: //--------------------------------------------------------------------------- xue@0: void __fastcall TBackupForm1::Button3Click(TObject *Sender) xue@0: { xue@0: OpenDialog1->FileName=Edit2->Text; xue@0: OpenDialog1->FilterIndex=1; xue@0: if (OpenDialog1->Execute()) xue@0: { xue@0: Edit2->Text=OpenDialog1->FileName; xue@0: AnsiString ApplicationIni=ChangeFileExt(Application->ExeName, ".ini"); xue@0: TIniFile* Ini=new TIniFile(ApplicationIni); xue@0: Ini->WriteString("BackUpForm", "Rar", OpenDialog1->FileName); xue@0: delete Ini; xue@0: } xue@0: } xue@0: //--------------------------------------------------------------------------- xue@0: void __fastcall TBackupForm1::FormClose(TObject *Sender, TCloseAction &Action) xue@0: { xue@0: if (Edit1->Text!=ExtText) xue@0: { xue@0: ExtText=Edit1->Text; xue@0: AnsiString ApplicationIni=ChangeFileExt(Application->ExeName, ".ini"); xue@0: TIniFile* Ini=new TIniFile(ApplicationIni); xue@0: Ini->WriteString("BackUpForm", "Ext", ExtText); xue@0: Ini->WriteString("BackUpForm", "Directory", Edit3->Text); xue@0: delete Ini; xue@0: } xue@0: } xue@0: //--------------------------------------------------------------------------- xue@0: xue@0: void __fastcall TBackupForm1::Button4Click(TObject *Sender) xue@0: { xue@0: OpenDialog1->FilterIndex=2; xue@0: OpenDialog1->InitialDir=ExtractFileDir(Application->ExeName); xue@0: if (OpenDialog1->Execute()) xue@0: { xue@0: Edit3->Text=ExtractFileDir(OpenDialog1->FileName); xue@0: AnsiString ApplicationIni=ChangeFileExt(Application->ExeName, ".ini"); xue@0: TIniFile* Ini=new TIniFile(ApplicationIni); xue@0: Ini->WriteString("BackUpForm", "Directory", Edit3->Text); xue@0: delete Ini; xue@0: } xue@0: xue@0: } xue@0: //--------------------------------------------------------------------------- xue@0: