annotate 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
rev   line source
xue@0 1 /*
xue@0 2 Harmonic Visualiser
xue@0 3
xue@0 4 An audio file viewer and editor.
xue@0 5 Centre for Digital Music, Queen Mary, University of London.
xue@0 6 This file copyright 2011 Wen Xue.
xue@0 7
xue@0 8 This program is free software; you can redistribute it and/or
xue@0 9 modify it under the terms of the GNU General Public License as
xue@0 10 published by the Free Software Foundation; either version 2 of the
xue@0 11 License, or (at your option) any later version.
xue@0 12 */
xue@0 13 //---------------------------------------------------------------------------
xue@0 14
xue@0 15 #include <vcl.h>
xue@0 16 #include <filectrl.hpp>
xue@0 17 #include <inifiles.hpp>
xue@0 18 #pragma hdrstop
xue@0 19
xue@0 20 #include "BackUpTool.h"
xue@0 21 //---------------------------------------------------------------------------
xue@0 22 #pragma package(smart_init)
xue@0 23 #pragma resource "*.dfm"
xue@0 24 #pragma link "vclx.lib"
xue@0 25 TBackupForm1 *BackupForm1;
xue@0 26 //---------------------------------------------------------------------------
xue@0 27 __fastcall TBackupForm1::TBackupForm1(TComponent* Owner)
xue@0 28 : TForm(Owner)
xue@0 29 {
xue@0 30 AnsiString ApplicationIni=ChangeFileExt(Application->ExeName, ".ini");
xue@0 31 TIniFile* Ini=new TIniFile(ApplicationIni);
xue@0 32 ExtText=Ini->ReadString("BackUpForm", "Ext", ".bpr .bpk .dfm .cpp .ini .dsk .h .hpp .res .rc .dcr");
xue@0 33 Edit1->Text=ExtText;
xue@0 34 Edit2->Text=Ini->ReadString("BackUpForm", "Rar", "WinRAR.exe");
xue@0 35 Edit3->Text=Ini->ReadString("BackUpForm", "Directory", ExtractFileDir(Application->ExeName));
xue@0 36 delete Ini;
xue@0 37 }
xue@0 38 //---------------------------------------------------------------------------
xue@0 39 void __fastcall TBackupForm1::Button1Click(TObject *Sender)
xue@0 40 {
xue@0 41 AnsiString Exts=Edit1->Text.LowerCase();
xue@0 42 AnsiString Dir=Edit3->Text;
xue@0 43 AnsiString TimeString=Now().FormatString("yymmddhhmmss");
xue@0 44 AnsiString TempDir="C:\\Temp\\"+ExtractFileName(Dir)+TimeString;
xue@0 45 if (!DirectoryExists(TempDir)) ForceDirectories(TempDir);
xue@0 46
xue@0 47 SetCurrentDir(Dir);
xue@0 48 TSearchRec F;
xue@0 49 if (FindFirst("*.*", 0x2f, F)==0)
xue@0 50 {
xue@0 51 do
xue@0 52 {
xue@0 53 AnsiString FileName=F.Name;
xue@0 54 AnsiString FileExt=ExtractFileExt(FileName).LowerCase();
xue@0 55 if (Exts.Pos(FileExt)>0)
xue@0 56 {
xue@0 57 AnsiString NewFileName=TempDir+"\\"+FileName;
xue@0 58 CopyFile(FileName.c_str(), NewFileName.c_str(), false);
xue@0 59 }
xue@0 60 }
xue@0 61 while (FindNext(F)==0);
xue@0 62 }
xue@0 63
xue@0 64 AnsiString ArchivName="..\\"+ExtractFileName(Dir)+TimeString+".rar";
xue@0 65 AnsiString command="\""+Edit2->Text+"\""+" a -r -ep1 "+ArchivName+" "+TempDir;
xue@0 66 Memo1->Lines->Add(AnsiString(">>")+ExtractFileName(ArchivName)+"...");
xue@0 67 system(command.c_str());
xue@0 68 Memo1->Lines->Add(">>");
xue@0 69 Memo1->Lines->Add("");
xue@0 70 }
xue@0 71 //---------------------------------------------------------------------------
xue@0 72 void __fastcall TBackupForm1::Button2Click(TObject *Sender)
xue@0 73 {
xue@0 74 Close();
xue@0 75 }
xue@0 76 //---------------------------------------------------------------------------
xue@0 77 void __fastcall TBackupForm1::Button3Click(TObject *Sender)
xue@0 78 {
xue@0 79 OpenDialog1->FileName=Edit2->Text;
xue@0 80 OpenDialog1->FilterIndex=1;
xue@0 81 if (OpenDialog1->Execute())
xue@0 82 {
xue@0 83 Edit2->Text=OpenDialog1->FileName;
xue@0 84 AnsiString ApplicationIni=ChangeFileExt(Application->ExeName, ".ini");
xue@0 85 TIniFile* Ini=new TIniFile(ApplicationIni);
xue@0 86 Ini->WriteString("BackUpForm", "Rar", OpenDialog1->FileName);
xue@0 87 delete Ini;
xue@0 88 }
xue@0 89 }
xue@0 90 //---------------------------------------------------------------------------
xue@0 91 void __fastcall TBackupForm1::FormClose(TObject *Sender, TCloseAction &Action)
xue@0 92 {
xue@0 93 if (Edit1->Text!=ExtText)
xue@0 94 {
xue@0 95 ExtText=Edit1->Text;
xue@0 96 AnsiString ApplicationIni=ChangeFileExt(Application->ExeName, ".ini");
xue@0 97 TIniFile* Ini=new TIniFile(ApplicationIni);
xue@0 98 Ini->WriteString("BackUpForm", "Ext", ExtText);
xue@0 99 Ini->WriteString("BackUpForm", "Directory", Edit3->Text);
xue@0 100 delete Ini;
xue@0 101 }
xue@0 102 }
xue@0 103 //---------------------------------------------------------------------------
xue@0 104
xue@0 105 void __fastcall TBackupForm1::Button4Click(TObject *Sender)
xue@0 106 {
xue@0 107 OpenDialog1->FilterIndex=2;
xue@0 108 OpenDialog1->InitialDir=ExtractFileDir(Application->ExeName);
xue@0 109 if (OpenDialog1->Execute())
xue@0 110 {
xue@0 111 Edit3->Text=ExtractFileDir(OpenDialog1->FileName);
xue@0 112 AnsiString ApplicationIni=ChangeFileExt(Application->ExeName, ".ini");
xue@0 113 TIniFile* Ini=new TIniFile(ApplicationIni);
xue@0 114 Ini->WriteString("BackUpForm", "Directory", Edit3->Text);
xue@0 115 delete Ini;
xue@0 116 }
xue@0 117
xue@0 118 }
xue@0 119 //---------------------------------------------------------------------------
xue@0 120