📄 finance.~cpp
字号:
}
//---------------------------------------------------------------------------
void __fastcall TfrmFinance::bbnFinanceAttachClick(TObject *Sender)
{
int curQuarter = tblFinance->FieldByName( "Quarter" )->AsInteger;
tblFinanceStream->First();
while( !tblFinanceStream->Eof )
{
if( tblFinanceStream->FieldByName( "Quarter" )->AsInteger == curQuarter )
break;
tblFinanceStream->Next();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFinance::bbnAboutClick(TObject *Sender)
{
frmAbout->ShowModal();
}
//---------------------------------------------------------------------------
void __fastcall TfrmFinance::bbnFirstClick(TObject *Sender)
{
tblFinance->First();
bbnFirst->Enabled = false;
bbnPrior->Enabled = false;
bbnNext->Enabled = true;
bbnLast->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmFinance::bbnPriorClick(TObject *Sender)
{
tblFinance->Prior();
if( tblFinance->Bof )
{
bbnFirst->Enabled = false;
bbnPrior->Enabled = false;
}
bbnNext->Enabled = true;
bbnLast->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmFinance::bbnNextClick(TObject *Sender)
{
tblFinance->Next();
bbnFirst->Enabled = true;
bbnPrior->Enabled = true;
if( tblFinance->Eof )
{
bbnNext->Enabled = false;
bbnLast->Enabled = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFinance::bbnLastClick(TObject *Sender)
{
tblFinance->Last();
bbnFirst->Enabled = true;
bbnPrior->Enabled = true;
bbnNext->Enabled = false;
bbnLast->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmFinance::bbnPostLoanClick(TObject *Sender)
{
TTable *tblLoan = new TTable(this);
tblLoan->DatabaseName = Database;
tblLoan->TableName = "贷款借还表";
try
{
int quarter = StrToInt( edtLoanQuarter->Text );
float loan = StrToFloat( edtLoanLoan->Text );
float repay = StrToFloat( edtLoanRepay->Text );
tblLoan->Active = true;
bool found = false;
while( true )
{
if( tblLoan->FieldByName( "Quarter" )->AsString == edtLoanQuarter->Text )
{
found = true;
break;
}
if( tblLoan->Eof )
break;
tblLoan->Next();
}
if( tblLoan->FieldByName( "Quarter" )->AsString == edtLoanQuarter->Text )
found = true;
if( found )
switch( Application->MessageBox( "该季度的贷款数据已经存在,还要提交吗?",
Application->Title.c_str(), MB_YESNO + MB_ICONQUESTION ))
{
case IDNO : return;
default : tblLoan->Delete();
}
tblLoan->Append();
tblLoan->FieldByName( "Quarter" )->AsInteger = quarter;
tblLoan->FieldByName( "Loan" )->AsFloat = loan;
tblLoan->FieldByName( "Repay" )->AsFloat = repay;
tblLoan->Post();
tblLoan->Active = false;
delete tblLoan;
}
catch( EDatabaseError &err )
{
ShowMessageDlg( "产生数据库错误:" + err.Message + "\n\n没有任何操作被完成." );
edtLoanLoan->SetFocus();
edtLoanLoan->SelectAll();
delete tblLoan;
}
catch( EConvertError &err )
{
ShowMessageDlg( "产生错误:" + err.Message + "\n\n没有任何操作被完成." );
edtLoanLoan->SetFocus();
edtLoanLoan->SelectAll();
delete tblLoan;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFinance::bbnPostRestoreClick(TObject *Sender)
{
TTable *tblRestore = new TTable(this);
tblRestore->DatabaseName = Database;
tblRestore->TableName = "原料和产品库存费用表";
try
{
int quarter = StrToInt( edtRestoreQuarter->Text );
float product = StrToFloat( edtRestoreProduct->Text );
float material = StrToFloat( edtRestoreMaterial->Text );
tblRestore->Active = true;
bool found = false;
while( true )
{
if( tblRestore->FieldByName( "Quarter" )->AsString == edtRestoreQuarter->Text )
{
found = true;
break;
}
if( tblRestore->Eof )
break;
tblRestore->Next();
}
if( tblRestore->FieldByName( "Quarter" )->AsString == edtRestoreQuarter->Text )
found = true;
if( found )
switch( Application->MessageBox( "该季度的库存费用数据已经存在,还要提交吗?",
Application->Title.c_str(), MB_YESNO + MB_ICONQUESTION ))
{
case IDNO : return;
default : tblRestore->Delete();
}
tblRestore->Append();
tblRestore->FieldByName( "Quarter" )->AsInteger = quarter;
tblRestore->FieldByName( "ProductCost" )->AsFloat = product;
tblRestore->FieldByName( "MaterialCost" )->AsFloat = material;
tblRestore->Post();
tblRestore->Active = false;
delete tblRestore;
}
catch( EDatabaseError &err )
{
ShowMessageDlg( "产生数据库错误:" + err.Message + "\n\n没有任何操作被完成." );
edtRestoreProduct->SetFocus();
edtRestoreProduct->SelectAll();
delete tblRestore;
}
catch( EConvertError &err )
{
ShowMessageDlg( "产生错误:" + err.Message + "\n\n没有任何操作被完成." );
edtRestoreProduct->SetFocus();
edtRestoreProduct->SelectAll();
delete tblRestore;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFinance::edtLoanQuarterExit(TObject *Sender)
{
query->Active = false;
query->SQL->Clear();
query->SQL->Add( "SELECT * FROM 贷款借还表" );
query->SQL->Add( "WHERE Quarter = :quarter" );
try
{
int quarter = StrToInt( edtLoanQuarter->Text );
query->ParamByName( "quarter" )->AsInteger = quarter;
query->Open();
if( query->RecordCount>0 )
{
edtLoanLoan->Text = query->FieldByName( "Loan" )->AsString;
edtLoanRepay->Text = query->FieldByName( "Repay" )->AsString;
}
else
{
edtLoanLoan->Text = "";
edtLoanRepay->Text = "";
}
query->Active = false;
}
catch( EDatabaseError &err )
{
ShowMessageDlg( "产生数据库错误:" + err.Message + "\n\n没有任何操作被完成." );
edtLoanLoan->Text = "";
edtLoanRepay->Text = "";
query->Active = false;
}
catch( EConvertError &err )
{
ShowMessageDlg( "产生错误:" + err.Message + "\n\n没有任何操作被完成." );
edtLoanLoan->Text = "";
edtLoanRepay->Text = "";
query->Active = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFinance::edtRestoreQuarterExit(TObject *Sender)
{
query->Active = false;
query->SQL->Clear();
query->SQL->Add( "SELECT * FROM 原料和产品库存费用表" );
query->SQL->Add( "WHERE Quarter = :quarter" );
try
{
int quarter = StrToInt( edtRestoreQuarter->Text );
query->ParamByName( "quarter" )->AsInteger = quarter;
query->Open();
if( query->RecordCount>0 )
{
edtRestoreProduct->Text = query->FieldByName( "ProductCost" )->AsString;
edtRestoreMaterial->Text = query->FieldByName( "MaterialCost" )->AsString;
}
else
{
edtRestoreProduct->Text = "";
edtRestoreMaterial->Text = "";
}
query->Active = false;
}
catch( EDatabaseError &err )
{
ShowMessageDlg( "产生数据库错误:" + err.Message + "\n\n没有任何操作被完成." );
edtRestoreProduct->Text = "";
edtRestoreMaterial->Text = "";
query->Active = false;
}
catch( EConvertError &err )
{
ShowMessageDlg( "产生错误:" + err.Message + "\n\n没有任何操作被完成." );
edtRestoreProduct->Text = "";
edtRestoreMaterial->Text = "";
query->Active = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFinance::bbnReportClick(TObject *Sender)
{
frmQrMain->Visible = true;
frmQrMain->rbnProductSold->Enabled = false;
frmQrMain->rbnProductSoldDecision->Enabled = false;
frmQrMain->rbnMaterialBuyUse->Enabled = false;
frmQrMain->rbnFinanceReport->Enabled = true;
frmQrMain->rbnLoanRestore->Enabled = true;
frmQrMain->rbnProductCapability->Enabled = false;
frmQrMain->rbnRestoreCost->Enabled = false;
frmQrMain->rbnMaterialBuy->Enabled = false;
frmQrMain->rbnLoanLoanRepay->Enabled = false;
frmQrMain->rbnLoanInterest->Enabled = false;
frmQrMain->rbnFinanceReportClick( (TObject*)frmQrMain );
frmQrMain->rbnFinanceReport->Checked = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmFinance::FormActivate(TObject *Sender)
{
edtLoanQuarter->SelectAll();
edtLoanQuarter->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfrmFinance::edtLoanRepayKeyPress(TObject *Sender,
char &Key)
{
if( Key==0x0D )
// 检查用户是否输入回车键
bbnPostLoanClick( Sender );
}
//---------------------------------------------------------------------------
void __fastcall TfrmFinance::edtRestoreMaterialKeyPress(TObject *Sender,
char &Key)
{
if( Key==0x0D )
// 检查用户是否输入回车键
bbnPostRestoreClick( Sender );
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -