你可以使用TPrinter的对象实例Printer,进行操作
首先,要Uses单元使用Printers,因为TPrinter是一个不可见对象;
其次,就可以使用Printer的方法和属性了
PosHeight:=0;//变量需要声明PosHeight,PosWidth,LineNum,LineWidth,LineHeight
PosWidth0;
LineNum:=0;
Printer.begin
Doc;
Height:=Printer.PageHeight;
Width:=Printer.PageWidth;
LineHeight:=Height Div 30;
LineWidth:=Width Div 5;
Printer.Canvas.Font.Size:=14;
Printer.Canvas.TextOut(PosWidth,PosHeight,'Emp_Id');
Printer.Canvas.TextOut(PosWidth+LineWidth,PosHeight,'Emp_Name');
LineNum:=1;
PosHeight:=(PosHeight+LineHeight);
While Not PrtRs.EOFdo
//[red]PrtRs是我自己定义的一个RecordSet变量,用于返回数据集[/red]
begin
Printer.Canvas.Font.Size:=12;
Printer.Canvas.TextOut(PosWidth,PosHeight,PrtRs.Fields['Emp_Id'].Value);
Printer.Canvas.TextOut(PosWidth+LineWidth,PosHeight,PrtRs.Fields['Emp_Name'].Value);
PosHeight:=PosHeight+LineHeight;
LineNum:=LineNum+1;
If LineNum>30 then
//[blue]你在这里就可以控制分页了[/blue]
begin
Printer.NewPage;//这是分页的语法
PosHeight:=0;
PosWidth:=0;
LineNum:=0;
end;
PrtRs.MoveNext;
end;
Printer.EndDoc;