📄 fadmf.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "FadmF.h"
#include "Calc.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "StdBaseForm"
#pragma resource "*.dfm"
TfrmFadmF *frmFadmF;
//---------------------------------------------------------------------------
__fastcall TfrmFadmF::TfrmFadmF(TComponent* Owner,AnsiString FadmF )
: TStdBaseForm(Owner)
{
m_FadmFResult="";
m_FiItem[0].Name="原值";
m_FiItem[1].Name="总工作量";
m_FiItem[2].Name="本期工作量";
m_FiItem[3].Name="使用期限";
m_FiItem[4].Name="累计使用期限";
m_FiItem[5].Name="预计净残值";
m_FiItem[6].Name="清理费用";
m_FiItem[7].Name="入帐前累计折旧";
m_FiItem[8].Name="入帐前累计工作量";
m_FiItem[9].Name="入帐前累计使用期限";
for(int i=0;i<=9;i++)
{
m_FiItem[i].Numb=0.00;
ListItem->Items->Strings[i]=m_FiItem[i].Name;
}
memFormula->Text=FadmF;
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadmF::btOkClick(TObject *Sender)
{
Expression = new TExpression();
Expression->OnIsVariable = IsVariable;
Expression->OnGetValue = GetValue;
double r;
int i=Expression->ChangeExpression(memFormula->Text);
if(i!=-1)
{
m_FadmFSure=false;
throw Exception("公式定义错误,请从新定义!");
}
else
{
m_FadmFSure=true;
m_FadmFResult=memFormula->Text;
}
delete Expression;
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadmF::btCacelClick(TObject *Sender)
{
m_FadmFSure=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadmF::ListItemDblClick(TObject *Sender)
{
seTempUse->Text=ListItem->Items->Strings[ListItem->ItemIndex];
seTempUse->SelectAll();
seTempUse->CopyToClipboard();
memFormula->PasteFromClipboard();
memFormula->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadmF::btReSetClick(TObject *Sender)
{
memFormula->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadmF::SpeedButtonClick(TObject *Sender)
{
TSpeedButton *SpeedButton;
SpeedButton=(TSpeedButton*)Sender;
seTempUse->Text=SpeedButton->Caption;
seTempUse->SelectAll();
seTempUse->CopyToClipboard();
memFormula->PasteFromClipboard();
memFormula->SetFocus();
}
//---------------------------------------------------------------------------
bool __fastcall TfrmFadmF::IsVariable(AnsiString Variable)
{
for(int i=0;i<=6;i++)
{
if(m_FiItem[i].Name==Variable)
return true;
}
return false;
}
//---------------------------------------------------------------------------
double __fastcall TfrmFadmF::GetValue(AnsiString Variable)
{
for(int i=0;i<=6;i++)
{
if(m_FiItem[i].Name==Variable)
return m_FiItem[i].Numb;
}
return 0.00;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -