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