| Популярное |
-
Обзор Палитры Компонент
В данной статье дается обзор стандартных и дополнительных компонент
из Палитры Компонент Delphi (ст -
Основы работы с базами данных
В этом уроке описываются основы работы с базами данных. Напомним,
что под базой данных понимается н -
DDE Delphi
В данной статье приводятся основные факты о DDEML и показывается,
как можно использовать DDE в
п -
Логические величины (истина/ложь)
Логический тип данных принимает всего два
значения: истинное (true) и ложное (false).
Логические в -
Переменные
В примерах, приведенных выше, я попутно
показал, как происходит присваивание и
изменение значений -
Объект TOLEContainer
Из статьи Вы узнаете
основные сведения об OLE, некоторые
вещи относительно OLE 2 и OLE
Automation -
Строковые значения
Строкой (string)
называется последовательность символов,
которая рассматривается как единое целое, -
Массивы
Массив представляет
собой список однотипных элементов.
Существует два типа массивов,
различающи -
Печать текстовая и графическая
Если Вам нужно напечатать на принтере документ в текстовом режиме, то
это делается следующим образо -
Управление проектом
Проект Delphi
Любой проект имеет, по-крайней
мере, шесть файлов, связанных с ним. Три из них отн
|
|
| Печать текстовая и графическая
|
|
|
Если Вам нужно напечатать на принтере документ в текстовом режиме, то
это делается следующим образом. С принтером Вы работаете, как с обычным
текстовым файлом, за исключением того, что вместо процедуры AssignFile
нужно вызывать процедуру AssignPrn. В
примере на принтер выводится одна строка текста:
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 :
-
AssignFile вместо Assign
-
CloseFile вместо Close
-
TextFile вместо Text
-
Вывод содержимого формы на
печать
Иногда в программе требуется просто получить твердую копию экранной
формы. В Delphi это делается
более, чем просто - у объекта TForm есть
метод Print, который и нужно вызвать
в нужный момент.
-
Графическая печать (объект
TPrinter)
И все же, более интересно, как
из программы созданной в Delphi можно
вывести на печать графическую информацию. Для этого есть специальный объект
Printer
(класса TPrinter).
Он становится доступен, если к программе подключить модуль Printers
(т.е. добавить имя модуля в разделе uses
). С помощью этого объекта
печать на принтере графической информации становится не сложнее вывода
этой информации на экран. Основным является то, что Printer
предоставляет разработчику свойство Canvas (
работа с канвой описана в предыдущем уроке) и методы, выводящие содержание
канвы на принтер. Рассмотрим подробнее свойства и методы объекта Printer.
Свойства Printer:
Aborted - тип
булевский; показывает, прервал ли пользователь
работу принтера методом Abort.
Canvas - канва,
место для вывода графики; работа с
Canvas
описана в Уроке 5.
Fonts - список
доступных шрифтов.
Handle - используется
при прямых вызовах Windows API.
Orientation - ориентация
страницы, вертикально или горизонтально.
PageWidth, PageHeight, PageNumber
- соответственно ширина,
высота и номер страницы.
Printers перечисляет
все установленные в системе принтеры, а
PrinterIndex указывает,
какой из них является текущим. Чтобы печатать на принтере по умолчанию
здесь должно быть значение -1.
Printing - тип
булевский; показывает, начата
ли печать (методом BeginDoc).
Title - заголовок
для Print Manager и для заголовка перед
выводом на сетевом принтере.
Методы Printer:
Abort - прерывает
печать, начатую методом BeginDoc
BeginDoc - вызывается
перед тем, как начать рисовать на канве.
EndDoc - вызывается
когда все необходимое уже нарисовано на канве, принтер начинает печатать
именно после этого метода.
NewPage - переход
на новую страницу.
Остальными методами объекта
в обычных случаях пользоваться не нужно.
Итак, порядок вывода на печать
графической информации выглядит следующим образом:
-
выполняется метод BeginDoc
-
на канве (Canvas) рисуем
все, что нужно
-
при необходимости разместить
информацию на нескольких листах вызываем метод NewPage
-
посылаем нарисованное на принтер,
выполняя метод EndDoc
-
Пример ex06.zip
В примере (проект PRINTS.DPR,
рис.1 ) реализованы все три вышеописанных
ситуации.
|
|
|
|