文件打印
在Delphi中文件打印有两种方式
将文件变量分配给打印机用此变量名创建或打开文件后 往此文件变量写入的任何文本都视为向打印机输出以下过程可实现文件的打印
procedure TEditFormPrintClick(Sender: TObject)
var
Line: Integer;
PrintText: SystemText;
begin
if PrintDialogExecute then
begin
AssignPrn(PrintText)
Rewrite(PrintText)
PrintCanvasFont := MemoFont;
For Line := to MemoLinesCount do
Writeln(PrintTextMemoLine[line];
SystemClose(PrintText)
end;
end;
利用Printers单元中定义的TPrinter对象进行文件打印本章例程采用这种方法打印文件
TPrinter对象
TPrinter对象可调用Windows的打印机在Printer 单元中定义了TPrinter 的实例Printer用户可直接使用
调用TPrinter的BeginDoc方法可开始一项打印工作调用EndDoc 方法可结束一项已成功发送给打印机的工作如果在发送过程中出现问题或用户想中途终止打印工作可调用Abort方法
通过检查Printing属性可测试当前是否有打印工作如果打印工作被终止Abort属性为真
Canvas属性代表打印表面BrushFontPen属性可决定打印字体或图像的特征
Printers属性中包含着已安装的打印机列表PrinterIndex 属性是当前选择的打印
机Fonts属性中有当前打印机支持的字体Orientertion属性可决定打印方向
PageHeightPageWith中包含着当前的高度和宽度PageNanber为当前页的值
设置Title属性可决定在Windows打印管理器或网络中出现的文本
TPrintDialog打印对话框
TPrintDialog部件显示一打印对话框用户在对话框中可以选择打印机打印页数打印份数当用户选择对话框中的Setup按钮则出现打印设置对话框
调用Execute方法显示打印对话框如图使用Option属性可设置打印对话框显示的形式Options的设置如表所示
PrintRange属性可定义打印的范围如果PrintPage的值是prPageNums则可以设置FromPage和ToPage属性来确定打印范围设置MinPageMaxPage属性可限制用户的打印范围
表 打印对话框的Option属性的取值及含义
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
取值 含义
──────────────────────────────────────
PoHelp 如果是真值对话框出现帮助按钮
PoPageNums 如果是真值页数按钮有效用户可以设置打印范围
PoPrintToFile 如果是真值文件打印检查框将出现在对话框中用户可以选
择文件打印
PoSelection 如果是真值选择按钮有效 用户可打印文件中所选择的文本
PoWarning如果是真值在打印机尚未安装时用户选择OK 按按钮将出现警告信息
PoDisablePrinttoToFile 如果是真值而PoPrintToFile亦是真值时当对话框出现时文件打印对话框将无效
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
本章例程是利用Printer的画布进行文本打印的用户选择打印菜单后将弹出打印对话框用户可设置各种参数当用户选择打印按钮后打印工作进行发送此时将弹出打印取消对话框见图 用户可中止打印工作有关打印和打印取消的代码如下
procedure TEditFormPrintClick(Sender: TObject)
var
DistanceLineLine: Integer;
PrintText: SystemText;
begin
if PrintDialogExecute then
begin
PrinterCanvasfont := MemoFont;
DistanceLine := Trunc(*FontDialogfontsize)
OpenPrintCancelDialog;
PrinterBeginDoc;
for line := to MemoLinesCount do
begin
Printercanvastextout(DistanceLine*LineMemolines[Line])
end;
PrinterEndDoc;
BtnBottomDlgfree;
end;
end;
procedure TEditFormOpenPrintCancelDialog;
begin
BtnBottomDlg := TBtnBottomDlgCreate(Application)
BtnBottomDlgshow;
BtnBottomDlgcanvasBrushColor := clActiveBorder;
BtnBottomDlgcanvasTextOut(Print+FileName)
BtnBottomDlgcanvasTextOut(if you want to
stop please choice Cancel Button)
end;
返回目录DELPHI基础教程
编辑推荐
Java程序设计培训视频教程
JEE高级框架实战培训视频教程
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLEG数据库开发优化指南
Java程序性能优化让你的Java程序更快更稳定
C嵌入式编程设计模式
Android游戏开发实践指南
[] [] [] []