Урок 6: Печать текстовая и графическая
В данной статье рассказывается
о возможных способах вывода информации на печать из программы, созданной
в Delphi. Рассматривается вывод документа
в текстовом режиме принтера, вывод графики с помощью объекта TPrinter
и
печать содержимого формы. О выводе на печать отчетов с помощью генератора
отчетов ReportSmith рассказывается
ниже.
procedure TForm1.Button1Click(Sender: TObject);
var
To_Prn : TextFile;
begin
AssignPrn(To_Prn);
Rewrite(To_Prn);
Writeln(To_Prn, 'Printer in Text Mode');
CloseFile(To_Prn);
end;
Здесь необходимо, видимо, пояснить, что по сравнению с BP 7.0 в Delphi изменены названия некоторых функций и переменных в модуле System :
Иногда в программе требуется просто получить твердую копию экранной
формы. В Delphi это делается
более, чем просто - у объекта TForm есть
метод Print, который и нужно вызвать
в нужный момент.
Свойства Printer:
Canvas - канва, место для вывода графики; работа с Canvas описана в Уроке 5.
Fonts - список доступных шрифтов.
Handle - используется при прямых вызовах Windows API.
Orientation - ориентация страницы, вертикально или горизонтально.
PageWidth, PageHeight, PageNumber - соответственно ширина, высота и номер страницы.
Printers перечисляет все установленные в системе принтеры, а
PrinterIndex указывает, какой из них является текущим. Чтобы печатать на принтере по умолчанию здесь должно быть значение -1.
Printing - тип булевский; показывает, начата ли печать (методом BeginDoc).
Title - заголовок
для Print Manager и для заголовка перед
выводом на сетевом принтере.
Abort - прерывает печать, начатую методом BeginDoc
EndDoc - вызывается когда все необходимое уже нарисовано на канве, принтер начинает печатать именно после этого метода.
NewPage - переход на новую страницу.
Итак, порядок вывода на печать графической информации выглядит следующим образом:
В примере (проект PRINTS.DPR, рис.1 ) реализованы все три вышеописанных ситуации.