怎样实现打印换行

来源:互联网 发布:韦德的数据 编辑:程序博客网 时间:2024/05/16 00:38

      在修复一个系统bug时,遇到打印程序。刚开始对于这方面完全没有涉及,通过修改程序总算了解了一点点。故而写下来,以备不时查看。

 

      打印一个字符串的时候往往会遇到打印字符的长度比打印纸张的宽度要大,因此必然要使用换行。刚开始我的想法很简单,我认为可以直接判断要打印的字符串的长度,截取打印纸大小的长度,然后打印,再换行继续打印。当然,如果单纯的打印英文字母当然是没有问题的,若是遇到汉字呢?大家都知道一个汉字占两个字符的长度,这样截取必然会遇到将一个汉字截成两部分的情况,因而出现打印乱码的情况。

      我的做法是:首先添加一个文本域控件,如果是在bcb开发环境下,就是TMemo控件,然后设置好它的属性,注意不能设置宽度滚动条。接下来就要把要打印的字符串赋值给TMemo的Text属性,这样我们就可以很轻松的打印了。打印时只有一行一行地去TMemo中读取它的Lines的Text就OK了。

      好了,问题解决了。