📄 childview.cpp
字号:
p_recordset->MoveNext ();
}//end while(!p_recordset->adoEOF)
}
catch(_com_error &err)
{
CWnd::MessageBox (err.Description ());
}
//打印页数置位
if(CMyClass::m_MaxCounts%8!=0)
CMyClass::m_maxpage=CMyClass::m_MaxCounts /8+1;
else
CMyClass::m_maxpage=CMyClass::m_MaxCounts /8;
pInfo->SetMaxPage (CMyClass::m_maxpage);
//------------结束
CWrapperView::OnBeginPrinting(pDC, pInfo);
}
void CChildView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)
{
// TODO: Add your specialized code here and/or call the base class
CMyClass::m_curpage=pInfo->m_nCurPage ;
if(pDC->IsPrinting ())
{
int pageHeight=pDC->GetDeviceCaps (VERTRES);
int originY=pageHeight*(pInfo->m_nCurPage-1 );
pDC->SetViewportOrg (20,-originY);
}
CScrollView::OnPrepareDC(pDC, pInfo);//wklh12
//CWrapperView::OnPrepareDC(pDC, pInfo);
}
void CChildView::OnEndPrinting(CDC* pDC, CPrintInfo* pInfo)
{
// TODO: Add your specialized code here and/or call the base class
p=head;//wklh12-wklh12
pEnd=head;
head=NULL;
while(p!=NULL)
{
p=pEnd->next;
delete pEnd;
pEnd=p;
}
pEnd=NULL;
p=NULL;
CWrapperView::OnEndPrinting(pDC, pInfo);
}
void CChildView::Convert(double d_Money, CString *str_Money)//将小写的金额数据转换成大写的汉字
{
CString str,strMoney,str1,str2;
int i_One,i_Longth,i;
bool b_Zero=FALSE;
i_One=0;
i_Longth=0;
*str_Money="";
if(d_Money<0.01)
{
return;
}
strMoney.Format ("%.2f",d_Money);
i_Longth=strMoney.GetLength ();
str2=strMoney.Right (2);//小数点后两位
str1=strMoney.Left (i_Longth-3);
strMoney="";
if(str1.Left (1)=="0")
{
this->MessageBox ("大写金额出错!wklh12-333");
strMoney="";
*str_Money="";
return;
}
i=str1.GetLength ();
if(i>6)
{
this->MessageBox ("最多处理小数点前六位6!");
strMoney="";
*str_Money="";
return;
}
for(i;i>0;i--)
{
str=str1.Left (1);
i_One=atoi(str);
if(i==6)
{
if(i_One==1)
{
strMoney+="壹拾";
}
else if(i_One==2)
{
strMoney+="贰拾";
}
else if(i_One==3)
{
strMoney+="叁拾";
}
else if(i_One==4)
{
strMoney+="肆拾";
}
else if(i_One==5)
{
strMoney+="伍拾";
}
else if(i_One==6)
{
strMoney+="陆拾";
}
else if(i_One==7)
{
strMoney+="柒拾";
}
else if(i_One==8)
{
strMoney+="捌拾";
}
else if(i_One==9)
{
strMoney+="玖拾";
}
else
{
this->MessageBox ("大写金额出错6!");
strMoney="";
*str_Money="";
return;
}
}//end if(i==6)
if(i==5)
{
if(i_One==0)
{
strMoney+="万";
}
else if(i_One==1)
{
strMoney+="壹万";
}
else if(i_One==2)
{
strMoney+="贰万";
}
else if(i_One==3)
{
strMoney+="叁万";
}
else if(i_One==4)
{
strMoney+="肆万";
}
else if(i_One==5)
{
strMoney+="伍万";
}
else if(i_One==6)
{
strMoney+="陆万";
}
else if(i_One==7)
{
strMoney+="柒万";
}
else if(i_One==8)
{
strMoney+="捌万";
}
else if(i_One==9)
{
strMoney+="玖万";
}
else
{
this->MessageBox ("大写金额出错5!");
strMoney="";
*str_Money="";
return;
}
}
if(i==4)
{
if(i_One==0)
{
strMoney+="零";
b_Zero=TRUE;
}
else if(i_One==1)
{
strMoney+="壹仟";
b_Zero=FALSE;
}
else if(i_One==2)
{
strMoney+="贰仟";
b_Zero=FALSE;
}
else if(i_One==3)
{
strMoney+="叁仟";
b_Zero=FALSE;
}
else if(i_One==4)
{
strMoney+="肆仟";
b_Zero=FALSE;
}
else if(i_One==5)
{
strMoney+="伍仟";
b_Zero=FALSE;
}
else if(i_One==6)
{
strMoney+="陆仟";
b_Zero=FALSE;
}
else if(i_One==7)
{
strMoney+="柒仟";
b_Zero=FALSE;
}
else if(i_One==8)
{
strMoney+="捌仟";
b_Zero=FALSE;
}
else if(i_One==9)
{
strMoney+="玖仟";
b_Zero=FALSE;
}
else
{
this->MessageBox ("大写金额出错4!");
strMoney="";
*str_Money="";
return;
}
}
if(i==3)
{
if(i_One==0)
{
if(b_Zero)
{
str1=str1.Right (str1.GetLength ()-1);
continue;
}
else
{
strMoney+="零";
b_Zero=TRUE;
}
}
else if(i_One==1)
{
strMoney+="壹佰";
b_Zero=FALSE;
}
else if(i_One==2)
{
strMoney+="贰佰";
b_Zero=FALSE;
}
else if(i_One==3)
{
strMoney+="叁佰";
b_Zero=FALSE;
}
else if(i_One==4)
{
strMoney+="肆佰";
b_Zero=FALSE;
}
else if(i_One==5)
{
strMoney+="伍佰";
b_Zero=FALSE;
}
else if(i_One==6)
{
strMoney+="陆佰";
b_Zero=FALSE;
}
else if(i_One==7)
{
strMoney+="柒佰";
b_Zero=FALSE;
}
else if(i_One==8)
{
strMoney+="捌佰";
b_Zero=FALSE;
}
else if(i_One==9)
{
strMoney+="玖佰";
b_Zero=FALSE;
}
else
{
this->MessageBox ("大写金额出错3!");
strMoney="";
*str_Money="";
return;
}
}
if(i==2)
{
if(i_One==0)
{
if(b_Zero)
{
str1=str1.Right (str1.GetLength ()-1);
continue;
}
else
{
strMoney+="零";
b_Zero=TRUE;
}
}
else if(i_One==1)
{
strMoney+="壹拾";
b_Zero=FALSE;
}
else if(i_One==2)
{
strMoney+="贰拾";
b_Zero=FALSE;
}
else if(i_One==3)
{
strMoney+="叁拾";
b_Zero=FALSE;
}
else if(i_One==4)
{
strMoney+="肆拾";
b_Zero=FALSE;
}
else if(i_One==5)
{
strMoney+="伍拾";
b_Zero=FALSE;
}
else if(i_One==6)
{
strMoney+="陆拾";
b_Zero=FALSE;
}
else if(i_One==7)
{
strMoney+="柒拾";
b_Zero=FALSE;
}
else if(i_One==8)
{
strMoney+="捌拾";
b_Zero=FALSE;
}
else if(i_One==9)
{
strMoney+="玖拾";
b_Zero=FALSE;
}
else
{
this->MessageBox ("大写金额出错2!");
strMoney="";
*str_Money="";
return;
}
}
if(i==1)
{
if(i_One==0)
{
if(b_Zero)
{
strMoney=strMoney.Left (strMoney.GetLength ()-2);
}
//else
//{
// strMoney+="零";
// b_Zero=TRUE;
//}
}
else if(i_One==1)
{
strMoney+="壹";
}
else if(i_One==2)
{
strMoney+="贰";
}
else if(i_One==3)
{
strMoney+="叁";
}
else if(i_One==4)
{
strMoney+="肆";
}
else if(i_One==5)
{
strMoney+="伍";
}
else if(i_One==6)
{
strMoney+="陆";
}
else if(i_One==7)
{
strMoney+="柒";
}
else if(i_One==8)
{
strMoney+="捌";
}
else if(i_One==9)
{
strMoney+="玖";
}
else
{
this->MessageBox ("大写金额出错1!");
strMoney="";
*str_Money="";
return;
}
}//end if (i==1)
str1=str1.Right (str1.GetLength ()-1);
}//end for(;i<0;i--)
if(strMoney.Left (2)=="零")
{
strMoney=strMoney.Left (strMoney.GetLength ()-1);
}
strMoney+="圆";
b_Zero=FALSE;
i_One=atoi(str2.Left (1));
if(i_One==0)
{
strMoney+="零";
b_Zero=TRUE;
}
else if(i_One==1)
{
strMoney+="壹角";
}
else if(i_One==2)
{
strMoney+="贰角";
}
else if(i_One==3)
{
strMoney+="叁角";
}
else if(i_One==4)
{
strMoney+="肆角";
}
else if(i_One==5)
{
strMoney+="伍角";
}
else if(i_One==6)
{
strMoney+="陆角";
}
else if(i_One==7)
{
strMoney+="柒角";
}
else if(i_One==8)
{
strMoney+="捌角";
}
else if(i_One==9)
{
strMoney+="玖角";
}
else
{
this->MessageBox ("大写金额出错0.1!");
strMoney="";
*str_Money="";
return;
}
//以下处理“分”
i_One=atoi(str2.Right(1));
if(i_One==0)
{
if(b_Zero)
{
strMoney=strMoney.Left (strMoney.GetLength ()-2);
}
//strMoney+="";
}
else if(i_One==1)
{
strMoney+="壹分";
}
else if(i_One==2)
{
strMoney+="贰分";
}
else if(i_One==3)
{
strMoney+="叁分";
}
else if(i_One==4)
{
strMoney+="肆分";
}
else if(i_One==5)
{
strMoney+="伍分";
}
else if(i_One==6)
{
strMoney+="陆分";
}
else if(i_One==7)
{
strMoney+="柒分";
}
else if(i_One==8)
{
strMoney+="捌分";
}
else if(i_One==9)
{
strMoney+="玖分";
}
else
{
this->MessageBox ("大写金额出错0.1!");
strMoney="";
*str_Money="";
return;
}
strMoney+="整";
*str_Money=strMoney;
//if(str1.Left (1)=="9")
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -