ftelezone.cpp
来自「一套BCB6开发的电话管理系统」· C++ 代码 · 共 165 行
CPP
165 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "FTeleZone.h"
#include "TeleZoneInfo.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFrmTeleZone *FrmTeleZone;
//---------------------------------------------------------------------------
__fastcall TFrmTeleZone::TFrmTeleZone( TIniFile *pMessageIniFile, TDMTelSys* pDMTelSys,
TComponent* Owner)
: pMsgIniFile( pMessageIniFile), pDMTelSys( pDMTelSys), TForm(Owner)
{
TeleZoneQuery->Open();
TLocateOptions Options;
Options.Clear();
Options << loPartialKey;
if( pDMTelSys->UserRightQuery->Locate( "FormID", Variant( "FrmTeleZone"), Options)) {
if( pDMTelSys->UserRightQuery->FieldByName( "Write")->AsString == "No") {
ModifyToolButton->Enabled = false;
SaveToolButton->Enabled = false;
GiveUpToolButton->Enabled = false;
NewToolButton->Enabled = false;
DeleteToolButton->Enabled = false;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TFrmTeleZone::FormClose(TObject *Sender,
TCloseAction &Action)
{
Action = caFree;
FrmTeleZone = NULL;
}
//---------------------------------------------------------------------------
void __fastcall TFrmTeleZone::NewToolButtonClick(TObject *Sender)
{
TeleZone tz( pDMTelSys->TelSysADOConnection);
DlgTeleZoneInfo = new TDlgTeleZoneInfo( true, tz, pMsgIniFile, this);
if( DlgTeleZoneInfo->ShowModal() == mrOk) {
NewTZVec.push_back( tz);
TeleZoneQuery->Append();
TeleZoneQuery->FieldByName( "type")->AsString = tz.GetType();
TeleZoneQuery->FieldByName( "local_code")->AsString = tz.GetCode();
TeleZoneQuery->FieldByName( "area")->AsString = tz.GetZone();
TeleZoneQuery->FieldByName( "location")->AsString = tz.GetLocation();
TeleZoneQuery->FieldByName( "price")->AsString = tz.GetPriceStr();
TeleZoneQuery->FieldByName( "interval")->AsString = tz.GetUnitStr();
TeleZoneQuery->Post();
}
}
//---------------------------------------------------------------------------
void __fastcall TFrmTeleZone::ExitToolButtonClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TFrmTeleZone::ModifyToolButtonClick(TObject *Sender)
{
TeleZone tz( pDMTelSys->TelSysADOConnection);
tz.SetType( TeleZoneQuery->FieldByName( "type")->AsString);
tz.SetCode( TeleZoneQuery->FieldByName( "local_code")->AsString);
tz.SetZone( TeleZoneQuery->FieldByName( "area")->AsString);
tz.SetLocation( TeleZoneQuery->FieldByName( "location")->AsString);
tz.SetPrice( TeleZoneQuery->FieldByName( "Price")->AsString);
tz.SetUnit( TeleZoneQuery->FieldByName( "interval")->AsString);
DlgTeleZoneInfo = new TDlgTeleZoneInfo( false, tz, pMsgIniFile, this);
if( DlgTeleZoneInfo->ShowModal() == mrOk) {
ModifyTZVec.push_back( tz);
TeleZoneQuery->Edit();
TeleZoneQuery->FieldByName( "area")->AsString = tz.GetZone();
TeleZoneQuery->FieldByName( "location")->AsString = tz.GetLocation();
TeleZoneQuery->FieldByName( "price")->AsString = tz.GetPriceStr();
TeleZoneQuery->FieldByName( "interval")->AsString = tz.GetUnitStr();
TeleZoneQuery->Post();
}
}
//---------------------------------------------------------------------------
void __fastcall TFrmTeleZone::DeleteToolButtonClick(TObject *Sender)
{
TeleZone tz( pDMTelSys->TelSysADOConnection);
tz.SetType( TeleZoneQuery->FieldByName( "type")->AsString);
tz.SetCode( TeleZoneQuery->FieldByName( "local_code")->AsString);
DeleteTZVec.push_back( tz);
TeleZoneQuery->Delete();
}
//---------------------------------------------------------------------------
void __fastcall TFrmTeleZone::SaveToolButtonClick(TObject *Sender)
{
std::for_each( NewTZVec.begin(), NewTZVec.end(), std::mem_fun_ref( &TeleZone::sql_insert));
std::vector< TeleZone>::const_iterator pIter;
for( pIter = ModifyTZVec.begin(); pIter != ModifyTZVec.end(); ++pIter) {
pIter->sql_update( *pIter);
}
for( pIter = DeleteTZVec.begin(); pIter != DeleteTZVec.end(); ++pIter) {
pIter->sql_delete( pIter->GetType(), pIter->GetCode());
}
NewTZVec.clear();
ModifyTZVec.clear();
DeleteTZVec.clear();
TeleZoneQuery->Close();
TeleZoneQuery->Open();
}
//---------------------------------------------------------------------------
void __fastcall TFrmTeleZone::GiveUpToolButtonClick(TObject *Sender)
{
NewTZVec.clear();
ModifyTZVec.clear();
DeleteTZVec.clear();
TeleZoneQuery->Close();
TeleZoneQuery->Open();
}
//---------------------------------------------------------------------------
void __fastcall TFrmTeleZone::RefreshToolButtonClick(TObject *Sender)
{
TeleZoneQuery->Close();
TeleZoneQuery->Open();
}
//---------------------------------------------------------------------------
void __fastcall TFrmTeleZone::FirstPageToolButtonClick(TObject *Sender)
{
TeleZoneQuery->First();
}
//---------------------------------------------------------------------------
void __fastcall TFrmTeleZone::PrevPageToolButtonClick(TObject *Sender)
{
TeleZoneQuery->Prior();
}
//---------------------------------------------------------------------------
void __fastcall TFrmTeleZone::NextPageToolButtonClick(TObject *Sender)
{
TeleZoneQuery->Next();
}
//---------------------------------------------------------------------------
void __fastcall TFrmTeleZone::LastPageToolButtonClick(TObject *Sender)
{
TeleZoneQuery->Last();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?