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
|