⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 childview.cpp

📁 从列表进行打印的源码,请大家下载参考对照,从中发表意见,加深修改.
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			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 + -