📄 incomewizarddlg.cpp
字号:
L"收入登记向导:借贷1",
L"收入登记向导:借贷2",
L"收入登记向导:借贷3",
L"收入登记向导:借贷4",
L"收入登记向导:借贷5",
L"收入登记向导:完成",
};
StrCaption=m_sCaption[nPos-1];
SetWindowText(StrCaption);
}
void CIncomeWizardDlg::IncomeNext()
{
m_pIncome_Step1->UpdateData();
//首先判断这一步的数据是否合法
if(m_pIncome_Step1->m_sSource==L"")
{
MessageBox(L"\n收入来源不能为空!\n",L"提示",MB_ICONEXCLAMATION);
return ;
}
if(m_pIncome_Step1->m_dAmount==0)
{
MessageBox(L"\n收入金额不能为空!\n",L"提示",MB_ICONEXCLAMATION);
return ;
}
//下面是第一步要处理的,首先要把那个数据结构填满
m_pFlow->m_bCash =m_pIncome_Step1->m_bCash ;
m_pFlow->m_bBank =m_pIncome_Step1->m_bBank ;
m_pFlow->m_bOutcome =m_pIncome_Step1->m_bOutcome ;
m_pFlow->m_bInvest =m_pIncome_Step1->m_bInvest ;
m_pFlow->m_bBorrow =m_pIncome_Step1->m_bBorrow ;
if(m_pFlow->m_bBank )//银行
{
UpdateStep(BANKCOUNT_STEP2);
return ;
}//银行没有则判断支出
if(m_pFlow->m_bOutcome )
{
UpdateStep(OUTCOME_STEP8);
return ;
}//支出没有则判断投资
if(m_pFlow->m_bInvest )
{
UpdateStep(INVESTCOUNT_STEP15);
return ;
}//投资没有则判断借贷
if(m_pFlow->m_bBorrow )
{
UpdateStep(BORROWCOUNT_STEP21);
return ;
}
//都没有,则在流向个数的那个数据结构中登记
m_pCount->m_iBankCount =0;
m_pCount->m_iBorrowCount =0;
m_pCount->m_iInvestCount =0;
m_pCount->m_iTangibleCount =0;
m_pCount->m_iCurBank=0;
m_pCount->m_iCurBorrow=0;
m_pCount->m_iCurInvest=0;
m_pCount->m_iCurTangible=0;
//显示完成对话框,但如果用户也没有选择现金,则不给进行
m_pFlow->m_dCashAmount =GetCashAmount();
if(m_pIncome_Step1->m_dAmount!=m_pFlow->m_dCashAmount )//说明没有填写现金!不可以!
{
MessageBox(L"没有登记任何流向!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
ListCash();
UpdateStep(FINISH_STEP27);
//****
return ;
}
void CIncomeWizardDlg::BankCountNext ()
{
m_pBankCount_Step2->UpdateData();
//由银行个数来判断下一步是什么
//把那个m_pCount填
m_pCount->m_iBankCount =m_pBankCount_Step2->m_iBankCount ;
//首先判断数据是否合法
//有多少个,则必须把那些相应的Combo卡号填好,否则不给下一步
switch(m_pCount->m_iBankCount )
{
case 0://如果用户不选,则抱错,因为首页已经填了,最多是上一步
{
MessageBox(L"\n必须选择银行卡个数,否则请退回上一步取消银行卡选项!\n",L"提示",MB_ICONEXCLAMATION);
return ;
}
case 1://如果选了一个,则判断第一个有没有填充就行了
if(m_pBankCount_Step2->m_sCard_1!=L"")//非空,则OK,可以下一步
{
//初始化银行卡简号
m_pBank_Step3->m_sCardId =m_pBankCount_Step2->m_sCard_1 ;
m_pBank_Step3->UpdateData (FALSE);
//填充m_pCount
m_pCount->m_iBankCount =1;
m_pCount->m_iCurBank =1;
UpdateStep(BANK_STEP3);
return ;
}
else//对话框警告
{
MessageBox(L"\n必须填充第一张银行卡简号,否则请退回上一步取消银行卡选项!\n",L"提示",MB_ICONEXCLAMATION);
return ;
}
case 2://选择了两个,则必须判断两个
if(m_pBankCount_Step2->m_sCard_1!=L"" &&m_pBankCount_Step2->m_sCard_2!=L"" )
{
//初始化银行卡简号
m_pBank_Step3->m_sCardId =m_pBankCount_Step2->m_sCard_1 ;
m_pBank1_Step4->m_sCardId =m_pBankCount_Step2->m_sCard_2 ;
m_pBank_Step3->UpdateData (FALSE);
m_pBank1_Step4->UpdateData (FALSE);
//填充m_pCount
m_pCount->m_iBankCount =2;
m_pCount->m_iCurBank =1;
UpdateStep(BANK_STEP3);
return ;
}
else
{
MessageBox(L"\n必须填充第一,二张银行卡简号,否则请修改银行卡个数选项!\n",L"提示",MB_ICONEXCLAMATION);
return ;
}
break;
case 3://如果选择了三个,则必须判断三个
if(m_pBankCount_Step2->m_sCard_1!=L"" &&m_pBankCount_Step2->m_sCard_2!=L"" &&m_pBankCount_Step2->m_sCard_3!=L"" )
{
//初始化银行卡简号
m_pBank_Step3->m_sCardId =m_pBankCount_Step2->m_sCard_1 ;
m_pBank1_Step4->m_sCardId =m_pBankCount_Step2->m_sCard_2 ;
m_pBank2_Step5->m_sCardId =m_pBankCount_Step2->m_sCard_3 ;
m_pBank_Step3->UpdateData (FALSE);
m_pBank1_Step4->UpdateData (FALSE);
m_pBank2_Step5->UpdateData (FALSE);
//填充m_pCount
m_pCount->m_iBankCount =3;
m_pCount->m_iCurBank =1;
UpdateStep(BANK_STEP3);
return ;
}
else
{
MessageBox(L"\n必须填充第一,二,三张银行卡简号,否则请修改银行卡个数选项!\n",L"提示",MB_ICONEXCLAMATION);
return ;
}
break;
case 4://如果选择了四个,则必须判断四个
if(m_pBankCount_Step2->m_sCard_1!=L"" &&m_pBankCount_Step2->m_sCard_2!=L"" &&
m_pBankCount_Step2->m_sCard_3!=L""&&m_pBankCount_Step2->m_sCard_4!=L"" )
{
//初始化银行卡简号
m_pBank_Step3->m_sCardId =m_pBankCount_Step2->m_sCard_1 ;
m_pBank1_Step4->m_sCardId =m_pBankCount_Step2->m_sCard_2 ;
m_pBank2_Step5->m_sCardId =m_pBankCount_Step2->m_sCard_3 ;
m_pBank3_Step6->m_sCardId =m_pBankCount_Step2->m_sCard_4 ;
m_pBank_Step3->UpdateData (FALSE);
m_pBank1_Step4->UpdateData (FALSE);
m_pBank2_Step5->UpdateData (FALSE);
m_pBank3_Step6->UpdateData (FALSE);
//填充m_pCount
m_pCount->m_iBankCount =4;
m_pCount->m_iCurBank =1;
UpdateStep(BANK_STEP3);
return ;
}
else
{
MessageBox(L"\n必须填充第一,二,三,四张银行卡简号,否则请修改银行卡个数选项!\n",L"提示",MB_ICONEXCLAMATION);
return ;
}
break;
case 5://如果选择了五个,则必须判断五个
if(m_pBankCount_Step2->m_sCard_1 !=L""&&m_pBankCount_Step2->m_sCard_2!=L"" &&
m_pBankCount_Step2->m_sCard_3!=L""&&m_pBankCount_Step2->m_sCard_4 !=L""&&
m_pBankCount_Step2->m_sCard_5!=L"" )
{
//初始化银行卡简号
m_pBank_Step3->m_sCardId =m_pBankCount_Step2->m_sCard_1 ;
m_pBank1_Step4->m_sCardId =m_pBankCount_Step2->m_sCard_2 ;
m_pBank2_Step5->m_sCardId =m_pBankCount_Step2->m_sCard_3 ;
m_pBank3_Step6->m_sCardId =m_pBankCount_Step2->m_sCard_4 ;
m_pBank4_Step7->m_sCardId =m_pBankCount_Step2->m_sCard_5 ;
m_pBank_Step3->UpdateData (FALSE);
m_pBank1_Step4->UpdateData (FALSE);
m_pBank2_Step5->UpdateData (FALSE);
m_pBank3_Step6->UpdateData (FALSE);
m_pBank4_Step7->UpdateData (FALSE);
//填充m_pCount
m_pCount->m_iBankCount =5;
m_pCount->m_iCurBank =1;
UpdateStep(BANK_STEP3);
return ;
}
else
{
MessageBox(L"\n必须填充第一,二,三,四,五张银行卡简号,否则请修改银行卡个数选项!\n",L"提示",MB_ICONEXCLAMATION);
return ;
}
break;
default:break;//永远不可能发生的事,但为了安全,还是要写
}
return ;
}
void CIncomeWizardDlg::BankNext ()
{
//首先判断数据是否合法
m_pBank_Step3->UpdateData();
if(m_pBank_Step3->m_sCardId==L"")
{
MessageBox(L"\n银行卡简号不能为空!\n",L"警告",MB_ICONEXCLAMATION);
return ;
}
if(m_pBank_Step3->m_dAmount==0)
{
MessageBox(L"\n操作金额不能为空!\n",L"警告",MB_ICONEXCLAMATION);
return ;
}
//数据都合法,则根据m_pCount判断下一步
if(m_pCount->m_iBankCount >1)
{
//如果多余一个银行操作,则进入下一个银行操作,数据已经初始化,直接进入
m_pCount->m_iCurBank =2;
UpdateStep(BANK1_STEP4);
return ;
}
//只有一个银行操作,则判断有没有其他的
if(m_pFlow->m_bOutcome )//首先判断是否有支出
{
UpdateStep(OUTCOME_STEP8);
return ;
}//支出没有则判断投资
if(m_pFlow->m_bInvest )
{
UpdateStep(INVESTCOUNT_STEP15);
return ;
}//投资没有则判断借贷
if(m_pFlow->m_bBorrow )
{
UpdateStep(BORROWCOUNT_STEP21);
return ;
}
//如果都没有了,则给出最终的结束会话
//但之前必须判断收入总金额是否等于银行操作金额
m_pFlow->m_dBankAmount =GetBankAmount();
double dAmount=m_pFlow->m_dBankAmount ;
if(m_pIncome_Step1->m_bCash )//如果有流入了现金
{
if(m_pIncome_Step1->m_dAmount >dAmount)
{
//除了银行剩余全部流入现金
m_pFlow->m_dCashAmount =GetCashAmount();
//可以结束登记了
UpdateStep(FINISH_STEP27);
ListAllBank();
ListCash();
return ;
}
else
{
MessageBox(L"收入总金额与登记在银行总额与现金的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
}//如果没有流入现金
if(m_pIncome_Step1->m_dAmount!=dAmount)
{
MessageBox(L"收入总金额与登记在银行总额不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
UpdateStep(FINISH_STEP27);
ListAllBank();
return ;
}
void CIncomeWizardDlg::Bank1Next ()
{
//首先判断数据是否合法
m_pBank1_Step4->UpdateData();
m_pBank_Step3->UpdateData ();
if(m_pBank1_Step4->m_sCardId==L"")
{
MessageBox(L"\n银行卡简号不能为空!\n",L"警告",MB_ICONEXCLAMATION);
return ;
}
if(m_pBank1_Step4->m_dAmount==0)
{
MessageBox(L"\n操作金额不能为空!\n",L"警告",MB_ICONEXCLAMATION);
return ;
}
//数据都合法,则根据m_pCount判断下一步
if(m_pCount->m_iBankCount >2)
{
//如果多于两个银行操作,则进入下一个银行操作,数据已经初始化,直接进入
UpdateStep(BANK2_STEP5);
m_pCount->m_iCurBank =3;
return ;
}
//只有两个银行操作,则判断有没有其他的
if(m_pFlow->m_bOutcome )//首先判断是否有支出
{
UpdateStep(OUTCOME_STEP8);
return ;
}//支出没有则判断投资
if(m_pFlow->m_bInvest )
{
UpdateStep(INVESTCOUNT_STEP15);
return ;
}//投资没有则判断借贷
if(m_pFlow->m_bBorrow )
{
UpdateStep(BORROWCOUNT_STEP21);
return ;
}
//如果都没有了,则给出最终的结束会话
//但之前必须判断收入总金额是否小于等于银行操作金额加上
m_pFlow->m_dBankAmount =GetBankAmount();
double dAmount=m_pFlow->m_dBankAmount ;
if(m_pIncome_Step1->m_bCash )//如果有流入了现金
{
if(m_pIncome_Step1->m_dAmount >dAmount)
{
//除了银行剩余全部流入现金
m_pFlow->m_dCashAmount =GetCashAmount();
//可以结束登记了
UpdateStep(FINISH_STEP27);
ListAllBank();
ListCash();
return ;
}
else
{
MessageBox(L"收入总金额与登记在银行总额与现金的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
}//如果没有流入现金
if(m_pIncome_Step1->m_dAmount!=dAmount)
{
MessageBox(L"收入总金额与登记在银行不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
UpdateStep(FINISH_STEP27);
ListAllBank();
return ;
}
void CIncomeWizardDlg::Bank2Next ()
{
//首先判断数据是否合法
m_pBank2_Step5->UpdateData ();
m_pBank1_Step4->UpdateData();
m_pBank_Step3->UpdateData ();
if(m_pBank2_Step5->m_sCardId==L"")
{
MessageBox(L"\n银行卡简号不能为空!\n",L"警告",MB_ICONEXCLAMATION);
return ;
}
if(m_pBank2_Step5->m_dAmount==0)
{
MessageBox(L"\n操作金额不能为空!\n",L"警告",MB_ICONEXCLAMATION);
return ;
}
//数据都合法,则根据m_pCount判断下一步
if(m_pCount->m_iBankCount >3)
{
//如果多于三个银行操作,则进入下一个银行操作,数据已经初始化,直接进入
UpdateStep(BANK3_STEP6);
m_pCount->m_iCurBank =4;
return ;
}
//只有三个银行操作,则判断有没有其他的
if(m_pFlow->m_bOutcome )//首先判断是否有支出
{
UpdateStep(OUTCOME_STEP8);
return ;
}//支出没有则判断投资
if(m_pFlow->m_bInvest )
{
UpdateStep(INVESTCOUNT_STEP15);
return ;
}//投资没有则判断借贷
if(m_pFlow->m_bBorrow )
{
UpdateStep(BORROWCOUNT_STEP21);
return ;
}
//如果都没有了,则给出最终的结束会话
//但之前必须判断收入总金额是否等于银行操作金额
m_pFlow->m_dBankAmount =GetBankAmount();
double dAmount=m_pFlow->m_dBankAmount ;
if(m_pIncome_Step1->m_bCash )//如果有流入了现金
{
if(m_pIncome_Step1->m_dAmount >dAmount)
{
//除了银行剩余全部流入现金
m_pFlow->m_dCashAmount =GetCashAmount();
//可以结束登记了
UpdateStep(FINISH_STEP27);
ListAllBank();
ListCash();
return ;
}
else
{
MessageBox(L"收入总金额与登记在银行总额与现金的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
}//如果没有流入现金
if(m_pIncome_Step1->m_dAmount!=dAmount)
{
MessageBox(L"收入总金额与登记在银行不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
UpdateStep(FINISH_STEP27);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -