umain.cpp

来自「用于Delphi和BCB的高速压缩组件库」· C++ 代码 · 共 70 行

CPP
70
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "uMain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "FlexCompress"
#pragma resource "*.dfm"
TfmMain *fmMain;
//---------------------------------------------------------------------------
__fastcall TfmMain::TfmMain(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfmMain::bnExtractClick(TObject *Sender)
{
 // overwrite all
 bAll = false;
 Archiver->Options->OverwriteMode = omPrompt;
 if (cboverwrite->Checked) 
  Archiver->Options->OverwriteMode = omAlways;
 Archiver->FileName = Application->ExeName;
 Archiver->BaseDir = edPath->Text;
 Archiver->OpenArchive(fmOpenRead+fmShareDenyNone);
 Archiver->ExtractFiles("*.*");
 Archiver->CloseArchive();
 Close();
 Application->Terminate();
}
//---------------------------------------------------------------------------
void __fastcall TfmMain::bnExitClick(TObject *Sender)
{
 Close();	
}
//---------------------------------------------------------------------------
void __fastcall TfmMain::bnSelectDestPathClick(TObject *Sender)
{
 AnsiString s;
 if (SelectDirectory("Select destination folder ...","",s))
  edPath->Text = s;
}
//---------------------------------------------------------------------------
void __fastcall TfmMain::ArchiverConfirmOverwrite(TObject *Sender,
      AnsiString SourceFileName, AnsiString &DestFileName, bool &Confirm)
{
 int res;
 if (bAll)
  {
   Confirm = true;
   return;
  }
 res = MessageDlg("Overwrite "+DestFileName+"\r\nWith file "+SourceFileName,
    mtConfirmation,TMsgDlgButtons()>>mbYes>>mbNo>>mbAll,0);
 if (res == mrAll)
  bAll = true;
 if ((res == mrYes) || (bAll))
  Confirm = true;
 else
  Confirm = false;
}
//---------------------------------------------------------------------------
void __fastcall TfmMain::FormCreate(TObject *Sender)
{
 edPath->Text = ExtractFilePath(Application->ExeName);
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?