这问题问了很久了半年了都没人回答看来是大富翁里最难的问题大富翁里的大虾都哪里去了(200分)

  • 主题发起人 主题发起人 hn
  • 开始时间 开始时间
真的就这样完蛋了?
 
难道别无法了?
 
你这问题我看完后很晕,不懂,不过你别难过,我觉得你求知精神可嘉。
另:你可以另外CREATE一个CANVAS再执行TextWidth,看行不行。
 
按照delphi里的help里对printer.canvas.textwidth的解释为
“根据字体大小来得出在打印纸里打的宽度" 按照道理执行那printer.canvas.textwidth
的代码的时候打印机呢不会有操作的,但打印机呢却每执行此行代码就会走纸一张,为了这问
题我昨天一夜都没睡好,真的不知道怎么办,没太多的时间来允许我再对此问题做复杂的讨论了
各位好心的大虾再给我看看了,我只要得出具体解决的办法的,等我的打印的任务完成了,
再细细对此问题讨论,多谢了,在此多谢了,等待答案
 
为了不让大家走弯路考虑此问题,我再说的清楚点
我只写了简单的三行代码
printer.canvas.font.name:='宋体'
printer.canvas.font.size:=10
printer.canvas.textwidth('asdfsafd')
没有再多写任何的代码,尤其那种printer.begin
doc,printer.enddoc,printer.newpage等等
只简单的写了这三行代码
执行到printer.canvas.textwidth('safdsa')会走纸一张,每执行一次呢走纸一张,这样的话无法打印了。。。。
等待好的答案了
 
看你这么……,还是告诉你了。
procedure TForm1.Button1Click(Sender: TObject);
begin
if PrintDialog1.Execute then
begin
with Printerdo
begin
canvas.font.name:='宋体';
canvas.font.size:=10;
canvas.textwidth('asfdas');
//在上面进行一系列的设定!!!!!!
begin
Doc;
canvas.TextOut(0,0,'卷起千堆雪');
EndDoc;
end;
end;
end;

再不行,你还是赶快结束吧!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
大哥你说的在哪里设定呢,我看你的代码只多了那
with printerdo
的代码的
哪里设定,设定点什么呢
我只要达到执行那printer.canvas.textwidth('asdfdsa')的时候呢不走纸,不对打印机呢操作的
以前的开发的用过此代码的没问题的,是delphi2.0但6.0的不行了
 

[h3]兄弟,我要疯掉了!!!你狠!!!我这里没有打印机!!!把你的打印机寄过来!!![/h3]
[h3]这是什么世道!!![/h3]
 
大哥你说的那设定设定在哪里呢,设定何种的内容,我得知道那我才能照你做的设置的,
等待回答
 
procedure TForm1.Button1Click(Sender: TObject);
begin
if PrintDialog1.Execute then
begin
with Printerdo
begin
canvas.font.name:='宋体';
canvas.font.size:=10;
canvas.textwidth('asfdas');
canvas.textwidth('sdffggghgh');//明白么???设定你要打印的文字的宽度啊!!!
canvas.textwidth('jhkijtyj');
begin
Doc;
canvas.TextOut(0,0,'卷起千堆雪');
EndDoc;
end;
end;
end;
 
靠,我头都大了,强烈反对卷起千堆雪tyn。
要不是你,这个贴子造就结束了,,,,,,,,,,,,,,,,,,,
 
妈的,搞什么搞??
canvas.textwidth('sdffggghgh')是求'sdffggghgh'的宽度,不是设置宽度的
我用printer都半年了,但是还是不知道你们在干什么?
 
对于调用TextWidth会走纸,不可能!,我用了很多次,从没这种问题。
一定是其他代码因起的
 
搞笑!真好玩!
楼上的,打印机型号不同的,有可能胡乱走纸,解决的办法是不用
printer.canvas,textwidth,我实在看不出这句化有什么作用!、
顺便说一句,这个帖子非常搞笑,尤其市那个提问的家伙,说都不会话了!哈哈!
 
to::一个过客
请你看清楚我的帖子,是两个,上面还有一个
 
偶然看到这搞笑的帖子,大家看看!
 
好了,我把那三句话执行了十几遍,打印机动都没动一下。改成begin
DOC和ENDDOC才
会走纸一张。估计hn你的打印机坏了,或质量不好,或打印机驱动程序不好,或你的
系统有问题,或者。。。。
我的是WIN2000,HP6L(原厂驱动程序),程序如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
implementation
uses
Printers;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
printer.canvas.font.name:='宋体' ;
printer.canvas.font.size:=10 ;
printer.canvas.textwidth('asdfsafd') ;//这里什么事都没有发生
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
printer.begin
Doc;
printer.EndDoc;
//这里会走纸一张。
end;

end.
 
printer.canvas.font.name:='宋体'
printer.canvas.font.size:=10
printer.canvas.textwidth('asfdas')
这几行什么也没做啊!!!!
 
强烈建议不要使用HP打印机,它的驱动兼容性实在太差!
 
真tnd幽默
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部