📄 main.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "ABSMain"
#pragma resource "*.dfm"
TfrmMain *frmMain;
const AnsiString DataBaseFileName = "..\\..\\Data\\Demos.abs";
//---------------------------------------------------------------------------
__fastcall TfrmMain::TfrmMain(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::FormCreate(TObject *Sender)
{
dbDemos->Close();
dbDemos->DatabaseFileName = ExtractFilePath(Application->ExeName) + DataBaseFileName;
dbDemos->Open();
FillTablesList();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnDbFileSelectClick(TObject *Sender)
{
if (odOpenDatabase->Execute())
eDbFileName->Text = odOpenDatabase->FileName;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btCopyClick(TObject *Sender)
{
if (lvTables->Selected != NULL)
{
ABSTable1->TableName = lvTables->Selected->Caption;
if (rbCurrentDb->Checked)
{
ABSTable1->CopyTable(eTableName->Text,"","");
FillTablesList();
}
else
if (!cbEncrypted->Checked)
ABSTable1->CopyTable(eTableName->Text, eDbFileName->Text,"");
else
ABSTable1->CopyTable(eTableName->Text, eDbFileName->Text, ePassword->Text);
MessageDlg("Table copied.", mtInformation, TMsgDlgButtons()<<mbOK, 0);
}
else
MessageDlg("Please select table to copy from the list", mtInformation, TMsgDlgButtons()<<mbOK, 0);
}
//---------------------------------------------------------------------------
void TfrmMain::FillTablesList()
{
TStringList *tables;
int i;
tables = new TStringList();
try
{
lvTables->Items->Clear();
dbDemos->GetTablesList(tables);
for (i=0; i <= tables->Count-1; i++)
lvTables->Items->Add()->Caption = tables->Strings[i];
}
__finally
{
delete tables;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::lvTablesChange(TObject *Sender, TListItem *Item,
TItemChange Change)
{
if (lvTables->Selected != NULL)
eTableName->Text = lvTables->Selected->Caption+"_copy";
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::rbCurrentDbClick(TObject *Sender)
{
eDbFileName->Enabled = false;
cbEncrypted->Enabled = false;
ePassword->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::rbSelectedDbClick(TObject *Sender)
{
eDbFileName->Enabled = true;
cbEncrypted->Enabled = true;
ePassword->Enabled = true;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -