Пример программы. Ниже приведен вид формы и текст модуля приложения, выводящего на печать содержимое поля Memo и картинку
Ниже приведен вид формы и текст модуля приложения, выводящего на печать содержимое поля Memo и картинку. Форма приложения представлена на рисунке 2.
Рисунок 2 — Вид формы приложения Текст модуля приложения:
unit PrintDemo_;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, StdCtrls, Printers;
type TfrmPrintDemo = class(TForm) btnPrintMemo: TButton; Memo: TMemo; Image: TImage; btnPrintImage: TButton; PrintDialog: TPrintDialog; procedure btnPrintMemoClick(Sender: TObject); procedure btnPrintImageClick(Sender: TObject); private { Private declarations } public { Public declarations } end;
var frmPrintDemo: TfrmPrintDemo;
implementation
{$R *.dfm}
Процедура печати текста из Memo procedure TfrmPrintDemo.btnPrintMemoClick(Sender: TObject); var i: integer; Prn: TextFile; begin //Если запущен диалог печати и не было отмены if PrintDialog.Execute then begin //Задание количества копий Printer.Copies: =PrintDialog.Copies; //Задание параметров шрифта Printer.Canvas.Font.Name: ='Times New Roman'; Printer.Canvas.Font.Size: =14; //Связывание текстового файла с принтером по умолчанию AssignPrn(Prn); try //Открытие файла для записи Rewrite(Prn); try //Вывод строк из поля Memo for i: = 0 to Memo.Lines.Count — 1 do writeln(Prn, Memo.Lines[i]); finally //Закрытие принтера CloseFile(Prn); end; except //Сообщение при ошибке on EInOutError do MessageDlg('Ошибка печати текста.', mtError, [mbOk], 0); end; end; end;
|