任意定格式报表打印换行在vc中的处理方法

文档序号:6573039阅读:475来源:国知局
专利名称:任意定格式报表打印换行在vc中的处理方法
技术领域
本发明涉及计算机编程领域,尤其是任意定格式报表打印换行在VC中的处理方法背景技术当前,在VC编程过程中,对字符串的换行打印,一般是对字符串中的特殊字符(回车键)进行检测,当检测到回车键时就另起一行打印。在管理信息系统中,编辑框和打印框并不一致,并且,有时在编辑框中输入字符串不需要输入回车键。这样,就造成报表输出打印中,长字符串的换行打印的困难。

发明内容
本发明的目的在于提供一任意定格式报表打印换行在VC中的处理方法,该任意定格式报表打印换行在VC中的处理方法采用一种基于算法思想的编程方法,将要打印的字符串按打印的宽度分成若干字符串,在剪切字符串的过程中,通过一种算法来判断此处可不可以分断,字符串分段后再分行打印。
本发明的技术方案为一种任意定格式报表打印换行在VC中的处理方法,该任意定格式报表打印换行在VC中的处理方法通过该算法的运用,解决了报表打印中,编辑框和打印框数据行宽不一致和编辑框中输入字符串没有回车键带来的打印换行问题。具体方法是将要打印的字符串按打印的宽度分成若干字符串,分段后再分行打印。其特征是字符串分断点识别算法已被封装成函数,得到分断后的每一段字符串也已被封装成函数,在打印中加入使用该函数即可。
本发明的优点在于应用该技术之后,可以打印页面范围内任意行宽的字符串,免去了换行打印的困难。在编辑框中输入字符串时不需要定点设置输入回车键,也不需要编辑框中输入字符串的行宽和打印框一致,使用方便,打印美观,整齐。


图1为本发明任意定格式报表打印换行在VC中的程序流程图。
具体实施例方式
一种任意定格式报表打印换行在VC中的处理方法字符是计算机中使用最多的非数值型数据,是人与计算机进行通信、交互的重要媒介,通常使用ASCII码。一个汉字字符占两个字节,其它为一个字节,如果对字符串分段时是在汉字的两个字节之间就会出现乱码,为正确找到分段点,设计出IsStringCutRight()函数,检测在此处可否分断字符串,函数返回值为TRUE,则可以在m_iCutNum处分断字符串,如果函数返回值为FALSE,则可以在m_iCutNum-1处分断字符串。BOOL CTransSubMisView::IsStringCutRight(const CString& m_sContent,int m_iCutNum){//算法//m_iCutNum你定位的字节,也就是行宽,每行打印的字节数//m_sContent要分段字符串char*str=new char[m_sContent.GetLength()+1];//把CString变成charfor(int i=0;i<m_sContent.GetLength();i++)str[i]=m_sContent[i];int N=m_jCutNum;if(N==1)return FALSE;int zkj=0; //用来记数(汉字有两个字节)if(str[N]>0) //是字符或者数字,第N个字符的ASCII码值return TRUE;//打印此字符并换行else{for(int i=N-1;i>=0;i--){if(str[i]<0) //是汉字,第i个字符的ASCII码值{zkj=zkj+1;
}}if(((zkj+1)%2)==0)return TRUE;//即可以把第N个字节放此行打印,然后换行else{return FALSE;//把第N个字节放下一行打印}}}能够正确分断字符串后,设计出GetCutSt ring()函数,得到分断后的每一段字符串。void CTransSubMisView::GetCutString(CStringArray& m_sArray,constCString&m_sCutString,int m_iCutNum){ //m_sArray是字符串数组,保存分断后的每一段字符串//m_sCutString是要分段的字符串//m_iCutNum是行宽int length=m_sCutString.GetLength();//字符串大小或长度CString m_sContent; //内容CStringArray m_sAcciArray; //内容数组int m_iStart=0;int m_iCount=m_iCutNum;
...}在打印时加入该段代码(函数),设置行宽和要分段打印的字符串后,调用函数即可。
权利要求
1.一种任意定格式报表打印换行在VC中的处理方法,其特征在于该任意定格式报表打印换行在VC中的处理方法通过该算法的运用,解决了报表打印中,编辑框和打印框数据行宽不一致和编辑框中输入字符串没有回车键带来的打印换行问题。具体方法是将要打印的字符串按打印的宽度分成若干字符串,分段后再分行打印。其特征是字符串分断点识别算法已被封装成函数,得到分断后的每一段字符串也已被封装成函数,在打印中加入使用该函数即可。
全文摘要
本发明公开一种任意定格式报表打印换行在VC中的处理方法,该任意定格式报表打印换行在VC中的处理方法通过该算法的运用,解决了报表打印中,编辑框和打印框数据行宽不一致和编辑框中输入字符串没有回车键带来的打印换行问题。具体方法是将要打印的字符串按打印的宽度分成若干字符串,分段后再分行打印。字符串分断点识别算法已被封装成函数,得到分断后的每一段字符串也已被封装成函数,在打印中加入使用该函数即可。本发明的优点在于应用该技术之后,可以打印页面范围内任意行宽的字符串,免去了换行打印的困难。在编辑框中输入字符串时不需要定点设置输入回车键,也不需要编辑框中输入字符串的行宽和打印框一致,使用方便,打印美观,整齐。
文档编号G06F9/44GK101038548SQ200710051938
公开日2007年9月19日 申请日期2007年4月20日 优先权日2007年4月20日
发明者唐勇波, 欧阳伟, 沈力军, 朱建勇 申请人:南昌有色冶金设计研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1