奇怪的打印问题(更正)救命啊!!!

jiafcat 2000-06-28 11:58:00
前一次提出的打印问题,我把现象描述错误,让大家误解了,特此道歉。

经过仔细研究我把程序出现异常的语句,抽离出来,供大家探讨。
以下程序经过编译运行,出现异常。打印的60个图形中,会随机的有
1-3个不打印。但有时,60个图形又均可打印。我换了五台计算机实验。
其中四台有异常情况(配置并不相同),一台没有异常情况。
打印机为激光黑白打印机,600dpi,试过canon LBP800和hp 6l,
均出现异常情况。

我快被折磨死了,大家快救命啊!!!

#include <Printers.hpp>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Graphics::TBitmap * Bitmap = new Graphics::TBitmap();
AnsiString AppPath = ExtractFilePath(Application->ExeName);
AnsiString PdfFileName = AppPath+"Temp.Bmp";
// Temp.Bmp为长820pixel宽216pixel的黑白图形
// 当Temp.Bmp为同样大小的真彩图形时,异常情况依然存在
int Left, Top; // 打印图形的左上角坐标
int LNext = 1000; // 打印图形的列间距
int TNext = 400; // 打印图形的行间距
Printer()->BeginDoc();
TCanvas * OutCanvas = Printer()->Canvas;
// 重复打印15行4列共60个图形
Left = 500;
for(int i=0; i<4; i++)
{
Top = 500;
for(int j=0; j<15; j++)
{
Bitmap->LoadFromFile(PdfFileName); // 每次都从同一文件读取图形
OutCanvas->Draw(Left,Top,Bitmap); // 打印图形
Top += TNext;
}
Left += LNext;
}
Printer()->EndDoc();
delete Bitmap;
}
...全文
107 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
alexela 2000-06-28
  • 打赏
  • 举报
回复
建议你将距Printer()->BeginDoc()和Printer()->EndDoc()间的代码提前,即先绘制好CANVAS,看一下打印效果,再开始直接打印。
或者干脆将图形直接绘在TFORM的CANVAS上,调用FORM的PRINT(),不是来得更省事、更直观?!
注意你的CANVAS的裁减面定义的是多少(也就是绘制图形是否超出范围而不能打印)?
祝你好运!!!
(有时犯不着为如此一个不是技术问题的问题花那么多时间。)

1.     考试介绍通信专业技术人员职业水平考试是由国家人力资源和社会保障部、工业和信息化部领导下的国家级考试。参加通信专业技术人员初级、中级职业水平考试,并取得相应级别职业水平证书的人员,表明其已具备相应专业技术岗位工作的水平和能力。通信专业技术人员初级、中级职业水平考试在全国实施后,各地区、各部门不再进行通信工程相应专业和级别任职资格的评审工作。因此,这种考试既是职业资格考试,又是职称资格考试。参加通信专业初级、中级职业水平考试合格人员,由各省、自治区、直辖市人力资源和社会保障局颁发人力资源和社会保障部统一印制,人力资源和社会保障部、工业和信息化部共同用印的《中华人民共和国通信专业技术人员职业水平证书》,该证书在全国范围有效。中级、初级考试均设《通信专业综合能力》和《通信专业实务》2个科目,其中:中级考试《通信专业实务》科目分:交换技术、传输与接入、终端与业务、互联网技术和设备环境5个专业类别。(以上摘自“全国通信专业技术人员职业水平考试网”)本课程是针对中级《通信专业综合能力》科目的培训,适用于准备报考通信专业中级职业水平考试所有专业的朋友。2.     教师简介副教授,十余年大型通信公司技术从业经历,以及十余年高校通信课程授课经验。曾获中国通信标准化协会颁发的科学技术奖一等奖、信息产业部颁发的“CDMA网络创新贡献”奖等。出版书籍包括《移动通信技术及应用》和《移动通信网络优化及实战》等,该两本书均入选普通高等教育“物联网工程专业”规划教材。3.     课程特色该课程历经十个月精心打造而成。课程录制过程中,我不但认真研读了教材(2018版,迄今为止仍在使用的最新考试专用教材),而且广泛参考了诸多的资料(包括往年的考试真题、其他培训讲师的课程以及其它相关技术资料),力争做到全面准确、博采众长、精益求精,为各位准备考取通信工程师证书的朋友奉献一门精品课程。本课程的特色包括:(1)     讲解全面。考试专用教材共10章40节,凡是考试可能涉及到的章节,本课程无一疏漏。(2)     内容详细、准确。对于教材中叙述简略、不易理解的知识点,我查考了其它相关资料,在课程中为大家讲解清楚,使学员在充分理解的基础上掌握教材内容。对于教材中出现的个别错误,我在参考诸多资料的基础上,予以谨慎更正,并给出考试时面临此类问题的答题建议。(3)     以考试为中心。课程紧紧围绕考试的要求进行讲解,并在课程中穿插讲解往年的真题,而且在每一章的末尾配备专门的真题解析和模拟题练习环节。通过对真题的分析,使学员能够对考试的题型、试题的难易程度、考试对教材要求掌握的程度等等有一个比较清楚的了解。做到心中有数、临阵不慌。(4)     增加专业英语试题分析和备考建议。鉴于综合能力的考试中包括10分的专业英语能力考核,我在课程的最后增加了关于专业英语题型分析和备考建议的内容。(5)     资料丰富。除了本课程的课件,我也给各位学员准备了一些非常有用的资料。具体包括: = 1 * GB3 ①本课程课件。每章的第一节附有本章课件。 = 2 * GB3 ②往年真题及解答。第一章的2-4节附有往年真题及解答。 = 3 * GB3 ③模拟试题。第二章的第二节附有模拟试题一套。购买课程后,请您在课程的附件中自行下载。(6)     购买课程后,如果有与本课程内容相关,乃至与考试相关的问题,您都可以在讨论留言区留言,我会尽力为您解答。总而言之,我希望您购买的不仅仅是一门课程,而且能享受到我为您提供的更多的服务。加入我们,这将是您考取中级通信工程师路上最明智的选择之一。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧