如何在指定位置打印?(50分)

  • 主题发起人 主题发起人 richmen
  • 开始时间 开始时间
R

richmen

Unregistered / Unconfirmed
GUEST, unregistred user!
请教各位高手,我用什么函数可以在指定的位置打印出一个字符串?
如:在坐标为(10,20)的位置用“宋体”“5号字”打印“abc"这个字符串,程序应该怎么写?
在此先感谢各位大侠了!谢谢!
 
Printer.begin
Doc;
Printer.Canvas.Font.Name := '宋体';
Printer.Canvas.Font.Size := strtoint(FontSize.text);
Printer.Canvas.TextOut(10,20,'abc');
Printer.EndDoc;
 
我的程序为:
procedure TForm1.Button1Click(Sender: TObject);
begin
Printer.begin
Doc;
//29行
Printer.Canvas.Font.Name := '宋体';
//30行
Printer.Canvas.Font.Size := 5;
//31行
Printer.Canvas.TextOut(10,20,'abc');//32行
Printer.EndDoc;
//33行
end;
编译时提示:
[Error] Unit1.pas(29): Undeclared identifier: 'Printer'
[Error] Unit1.pas(30): Missing operator or semicolon
[Error] Unit1.pas(31): Missing operator or semicolon
[Error] Unit1.pas(32): Missing operator or semicolon
[Error] Unit1.pas(33): Missing operator or semicolon
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
请问我的问题出在哪里?
 
如何声明printer?
 
uses Printers
 
to richmen :
方法如下:
先在单元的uses 部份,加入printers单元。
接看申明:
printer : Tprinter;
printer 必须申明,因为它不是一个系统默认变量。
 
同意 pcc_mmz1
 
按照pcc_mmz1说的,我改了程序,编译可以通过,但是我点击button时,出现如下错误:
project project1.exe raised exception class EAccessViolation with message
'Access violation at address 00402DC6 in module 'Project1.exe'.read of address
81EC8B31 .process stopped.
我该如何处理?谢了!
 
maybe use GetPrinter fist
 
不知你用的是什么版本。
在D4,D5里都PRINTER都是默认的,只需要USES PRINTERS就可以了。
 
howasoft:我用的是D5,刚才把 printer:tprinter;去掉,就行了,谢了,
谢谢各位高手!
 
后退
顶部