📄 mainform.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "MainForm.h"
#include "About.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMain *Main;
//---------------------------------------------------------------------------
__fastcall TMain::TMain(TComponent* Owner)
: TForm(Owner)
{
BaseCaption=Caption;
for(char i=0;i<COMPRESS_NUM;i++)
FileType[i]=new char [4];
FileType[0]=".ZIP";
FileType[1]=".ARJ";
FileType[2]=".RAR";
IsPressExt=false;
}
//---------------------------------------------------------------------------
void __fastcall TMain::mfOpenClick(TObject *Sender)
{
if(OpenDialog->Execute()==true)
{
mfUnpack->Enabled=true;
tbUnpack->Enabled=true;
OkBitBtn->Enabled=true;
UnPackEdit->Enabled=true;
Caption=BaseCaption+" - "+OpenDialog->FileName;
PathEdit->Text=OpenDialog->FileName;
UnPackEdit->Text=PathEdit->Text.SubString(1,PathEdit->Text.Length()-4);
}
}
//---------------------------------------------------------------------------
void __fastcall TMain::mfExitClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TMain::mhAboutClick(TObject *Sender)
{
AboutBox->ShowModal();
}
//---------------------------------------------------------------------------
void __fastcall TMain::tbOpenClick(TObject *Sender)
{
mfOpen->OnClick(this);
}
//---------------------------------------------------------------------------
void __fastcall TMain::BrowseBitBtnClick(TObject *Sender)
{
mfOpen->OnClick(this);
}
//---------------------------------------------------------------------------
void __fastcall TMain::CancelBitBtnClick(TObject *Sender)
{
mfExit->OnClick(this);
}
//---------------------------------------------------------------------------
void __fastcall TMain::mfUnpackClick(TObject *Sender)
{
AnsiString Command,Temp;
int CompressType=0;
Temp=PathEdit->Text.SubString(PathEdit->Text.Length()-3,4);
for(int i=0;i<COMPRESS_NUM;i++)
if(Temp.UpperCase()==FileType[i])
CompressType=i;
switch(CompressType)
{
case TYPE_ZIP:
CreateDir(UnPackEdit->Text);
Command="pkunzip -o "+PathEdit->Text+" "+UnPackEdit->Text;
ExtractExec(Command);
break;
case TYPE_RAR:
CreateDir(UnPackEdit->Text);
Command="rar x -o+ -y "+PathEdit->Text+" "+UnPackEdit->Text;
ExtractExec(Command);
break;
case TYPE_ARJ:
CreateDir(UnPackEdit->Text);
Command="arj x -y "+PathEdit->Text+" "+UnPackEdit->Text;
ExtractExec(Command);
break;
default:
ShowMessage("郎
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -