Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BorlandPascal.doc
Скачиваний:
55
Добавлен:
17.03.2015
Размер:
2.83 Mб
Скачать

Печать из программы Windows

Модуль WinPrn позволяет вам печатать текст из программы

Windows. Чтобы использовать WinPrn, укажите этот модуль в опера-

торе uses вашей программы;

uses WinPrn;

Перед началом печати вам нужно присвоить принтеру переменную

типа текстового файла. Сделать это можно двумя путями - назначив

используемый по умолчанию принтер или выбрав конкретный принтер,

драйвер и порт. Для вывода на используемый по умолчанию принтер

вызовите функцию AssignPrn. Любая запись в присвоенную файловую

переменную типа текстового файла приведет к выводу на принтер.

Изменение заголовков

По умолчанию администратор печати Windows будет выводить все

задания печати через WinPrn без заголовков. С помощью процедуры

TitlePrn (вызвав ее вслед за Rewrite) вы можете задать заголовок,

например:

AssignDefPrn(Prn);

TitlePrn(Prn, 'Конец годового отчета');

Rewrite(Prn);

задает для вывода используемый по умолчанию принтер и изменяет

заголовок на "Конец годового отчета", выводя его на этот принтер.

Если TitlePrn вызывается после Rewrite, то никакого эффекта это

не вызывает.

Изменение шрифтов

WinPrn использует назначенный по умолчанию шрифт, который

возвращается драйвером устройства. Чтобы изменить шрифт, вызовите

функцию SetPrnFont, передав ей описатель используемого шрифта.

SetPrnFont возвращает текущий используемый шрифт. Возвращаемый

шрифт можно использовать для будущего вызова SetPrnFont или для

передачи его DeleteObject. Приведем пример программы, демонстри-

рующей изменение шрифта:;

program Test;

uses WinTypes, WinProcs, WinCrt, WinPrn;

var

Prn: Text;

OldFont: HFont;

begin

Writeln('Печать...');

AssingDefPrn(Prn);

Rewrite(Prn);

Rewrite(Prn, 'Некоторый текст');

OldFont := SetPrnFont(Prn, CreateFont(100,0,0,0,0,0,0,0,1,

Out_Default_Precis,Clip_Default_Precis,

Default_Quality,ff_Roman,nil);

Writeln(Prn,' Произвольный текст новым шрифтом');

DeleteObject(SetPrnFont(Prn, OldFont));

Writeln(Prn, ' Возврат к старому шрифту');

Close(Prn);

Writeln('Выполнено');

end.

Остановка задания печати

Чтобы остановить задание печати, запущенное с помощью

WinPrn, вызовите процедуру AbortPrn. Это приведет к прекращению

печати, сбросу устройства и подготовки его к выводу нового зада-

ния печати.

Специальные символы

Когда ваша программа использует модуль WinPrn, следующие

символы будут иметь специальный смысл:

--------T---------------T---------------------------------------

¦Символ ¦ Название ¦ Описание ¦

+-------+---------------+---------------------------------------+

¦ #9 ¦ Табуляция ¦ Начинает печать символов со следующей¦

¦ ¦ TAB ¦ позиции табуляции, которая отстоит от¦

¦ ¦ ¦ предыдущей позиции табуляции на 8-¦

¦ ¦ ¦ кратную среднюю ширину шрифта. ¦

+-------+---------------+---------------------------------------+

¦ #10 ¦ Перевод строки¦ Начинает печать с новой строки. ¦

¦ ¦ LF ¦ ¦

+-------+---------------+---------------------------------------+

¦ #12 ¦Перевод формата¦ Принудительный перевод страницы. ¦

¦ ¦ FF ¦ ¦

+-------+---------------+---------------------------------------+

¦ #13 ¦Возврат каретки¦ Начинает печать с начала новой строки.¦

¦ ¦ CR ¦ ¦

L-------+---------------+----------------------------------------

Соседние файлы в предмете Программирование на Pascal