📄 fincalu.cpp
字号:
// ***** BEGIN LICENSE BLOCK *****
// * Version: MPL 1.1
// *
// * The contents of this file are subject to the Mozilla Public License Version
// * 1.1 (the "License"); you may not use this file except in compliance with
// * the License. You may obtain a copy of the License at
// * http://www.mozilla.org/MPL/
// *
// * Software distributed under the License is distributed on an "AS IS" basis,
// * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
// * for the specific language governing rights and limitations under the
// * License.
// *
// * The Original Code is TurboPower SysTools
// *
// * The Initial Developer of the Original Code is
// * TurboPower Software
// *
// * Portions created by the Initial Developer are Copyright (C) 1996-2002
// * the Initial Developer. All Rights Reserved.
// *
// * Contributor(s):
// *
// * ***** END LICENSE BLOCK *****
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
#include "FinCalu.h"
//---------------------------------------------------------------------------
#pragma link "Grids"
#pragma link "StFin"
#pragma link "StDate"
#pragma link "StDateSt"
#pragma resource "*.dfm"
TFinCalForm *FinCalForm;
//---------------------------------------------------------------------------
__fastcall TFinCalForm::TFinCalForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::FT(TWinControl* F, short T, String S)
{
TEdit* edit;
edit = (TEdit*) F;
edit->Enabled = true;
edit->Color = clYellow;
edit->TabOrder = T;
edit->Hint = S;
edit->ShowHint = true;
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupAccruedInterestPeriodic()
{
FT(D1Edit, 1, "Issue");
FT(D2Edit, 2, "Settlement");
FT(D3Edit, 3, "Maturity");
FT(E1Edit, 4, "Rate");
FT(E2Edit, 5, "Par");
FT(FreqEdit, 6, "Frequency");
FT(BasEdit, 7, "Basis");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupAccruedInterestMaturity()
{
FT(D1Edit, 1, "Issue");
FT(D2Edit, 2, "Maturity");
FT(E1Edit, 3, "Rate");
FT(E2Edit, 4, "Par");
FT(BasEdit, 5, "Basis");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupCumulativeInterest()
{
FT(E1Edit, 1, "Rate");
FT(I1Edit, 2, "NPeriods");
FT(E2Edit, 3, "Present Value");
FT(I2Edit, 4, "Start Period");
FT(I3Edit, 5, "End Period");
FT(FreqEdit, 6, "Frequency");
FT(TimEdit, 7, "Timing");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupCumulativePrincipal()
{
SetupCumulativeInterest();
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupDiscountRate()
{
FT(D1Edit, 1, "Settlement");
FT(D2Edit, 2, "Maturity");
FT(E1Edit, 3, "Price");
FT(E2Edit, 4, "Redemption");
FT(BasEdit, 5, "Basis");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupEffectiveInterestRate()
{
FT(E1Edit, 1, "Nominal Rate");
FT(FreqEdit, 2, "Frequency");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupNominalInterestRate()
{
FT(E1Edit, 1, "Effective Rate");
FT(FreqEdit, 2, "Frequency");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupInterestRate()
{
FT(I1Edit, 1, "NPeriods");
FT(E1Edit, 2, "Payment");
FT(E2Edit, 3, "Present Value");
FT(E3Edit, 4, "Future Value");
FT(FreqEdit, 5, "Frequency");
FT(TimEdit, 6, "Timing");
FT(E4Edit, 7, "Guess");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupReceivedAtMaturity()
{
FT(D1Edit, 1, "Settlement");
FT(D2Edit, 2, "Maturity");
FT(E1Edit, 3, "Investment");
FT(E2Edit, 4, "Discount");
FT(BasEdit, 5, "Basis");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupYieldPeriodic()
{
FT(D1Edit, 1, "Settlement");
FT(D2Edit, 2, "Maturity");
FT(E1Edit, 3, "Rate");
FT(E2Edit, 4, "Price");
FT(E3Edit, 5, "Redemption");
FT(FreqEdit, 6, "Frequency");
FT(BasEdit, 7, "Basis");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupYieldDiscounted()
{
FT(D1Edit, 1, "Settlement");
FT(D2Edit, 2, "Maturity");
FT(E1Edit, 3, "Price");
FT(E2Edit, 4, "Redemption");
FT(BasEdit, 5, "Basis");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupYieldMaturity()
{
FT(D1Edit, 1, "Issue");
FT(D2Edit, 2, "Settlement");
FT(D3Edit, 3, "Maturity");
FT(E1Edit, 4, "Rate");
FT(E2Edit, 5, "Price");
FT(BasEdit, 6, "Basis");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupTBillEquivYield()
{
FT(D1Edit, 1, "Settlement");
FT(D2Edit, 2, "Maturity");
FT(E1Edit, 3, "Discount");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupTBillPrice()
{
SetupTBillEquivYield();
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupTBillYield()
{
FT(D1Edit, 1, "Settlement");
FT(D2Edit, 2, "Maturity");
FT(E1Edit, 3, "Price");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupBondDuration()
{
FT(D1Edit, 1, "Settlement");
FT(D2Edit, 2, "Maturity");
FT(E1Edit, 3, "Rate");
FT(E2Edit, 4, "Yield");
FT(FreqEdit, 5, "Frequency");
FT(BasEdit, 6, "Basis");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupModifiedDuration()
{
SetupBondDuration();
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupFutureValueSchedule()
{
FT(E1Edit, 1, "Principal");
FT(VAEdit, 2, "Schedule");
FT(I1Edit, 3, "NRates");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupModifiedIRR()
{
FT(VAEdit, 1, "Values");
FT(I1Edit, 2, "NValues");
FT(E1Edit, 3, "Finance Rate");
FT(E2Edit, 4, "Reinvest Rate");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupNonperiodicIRR()
{
FT(I1Edit, 1, "NValues");
FT(VAEdit, 2, "Values");
FT(DAEdit, 3, "Dates");
FT(E1Edit, 4, "Guess");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupNonperiodicNPV()
{
FT(I1Edit, 1, "NValues");
FT(E1Edit, 2, "Rate");
FT(VAEdit, 3, "Values");
FT(DAEdit, 4, "Dates");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupDecliningBalance()
{
FT(E1Edit, 1, "Cost");
FT(E2Edit, 2, "Salvage");
FT(I1Edit, 3, "Life");
FT(I2Edit, 4, "Period");
FT(I3Edit, 5, "Month");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupVariableDecliningBalance()
{
FT(E1Edit, 1, "Cost");
FT(E2Edit, 2, "Salvage");
FT(I1Edit, 3, "Life");
FT(E3Edit, 4, "Start");
FT(E4Edit, 5, "End");
FT(E5Edit, 6, "Factor");
FT(BoolEdit, 7, "No Switch");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupDollarToDecimal()
{
FT(E1Edit, 1, "Fractional Dollar");
FT(I1Edit, 2, "Fraction");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupDollarToFraction()
{
FT(E1Edit, 1, "Decimal Dollar");
FT(I1Edit, 2, "Fraction");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupDollarToDecimalText()
{
FT(E1Edit, 1, "Decimal Dollar");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupDollarToFractionStr()
{
FT(E1Edit, 1, "Fractional Dollar");
FT(I1Edit, 2, "Fraction");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupRoundToDecimal()
{
FT(E1Edit, 1, "Value");
FT(I1Edit, 2, "Places");
FT(BoolEdit, 3, "Bankers");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupIsCardValid()
{
FT(StrEdit, 1, "Card Number");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupNetPresentValue()
{
FT(E1Edit, 1, "Rate");
FT(I1Edit, 2, "NValues");
FT(VAEdit, 3, "Values");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupFutureValue()
{
FT(E1Edit, 1, "Rate");
FT(I1Edit, 2, "NPeriods");
FT(E2Edit, 3, "Payment");
FT(E3Edit, 4, "Present Value");
FT(FreqEdit, 5, "Frequency");
FT(TimEdit, 6, "Timing");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupPresentValue()
{
FT(E1Edit, 1, "Rate");
FT(I1Edit, 2, "NPeriods");
FT(E2Edit, 3, "Payment");
FT(E3Edit, 4, "Future Value");
FT(FreqEdit, 5, "Frequency");
FT(TimEdit, 6, "Timing");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupBondPrice()
{
FT(D1Edit, 1, "Settlement");
FT(D2Edit, 2, "Maturity");
FT(E1Edit, 3, "Rate");
FT(E2Edit, 4, "Yield");
FT(E3Edit, 5, "Redemption");
FT(FreqEdit, 6, "Frequency");
FT(BasEdit, 7, "Basis");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupPayment()
{
FT(E1Edit, 1, "Rate");
FT(I1Edit, 2, "NPeriods");
FT(E2Edit, 3, "Present Value");
FT(E3Edit, 4, "Future Value");
FT(FreqEdit, 5, "Frequency");
FT(TimEdit, 6, "Timing");
}
//---------------------------------------------------------------------------
void __fastcall TFinCalForm::SetupInternalRateOfReturn()
{
FT(I1Edit, 1, "NValues");
FT(VAEdit, 2, "Values");
FT(E1Edit, 3, "Guess");
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -