Home

Page 307
Page 307
background image

300 Глава 6

begin

try

for

 to

 do

finally

CloseFile(f);

end;

end;

В первой строке кода переменной f назначается принтер. После этого идет

открытие файла, ассоциированного с принтером, и вывод на печать, заклю-
ченные между try и finally. Это необходимо, потому что если после вы-

полнения процедуры

 переменной f не будет назначен принтер

(ну нет его в системе, не установлен или вообще отсутствует!), то при по-

пытке открыть файл или начать печать произойдет ошибка.

Между finally и end (код, написанный здесь, будет выполняться всегда,
вне зависимости от того, была ошибка или нет) происходит закрытие файла.
Если не использовать

 а во время печати произошла бы

ошибка, то файл, ассоциированный с принтером, остался бы открытым.

А это значит, что последующая нормальная работа принтера уже не гаран-

тируется.

В предыдущем примере мы открывали принтер с помощью функции

AssignPrn, а потом обращались к принтеру как к файлу. Для более полной

иллюстрации того, что вы работаете с

 как с настоящим тексто-

вым файлом, попробуйте изменить строку открытия на эту:

Здесь использована функция Assignriie для открытия файла. Первая пере-

менная указывает на переменную текстового файла (TextFiie). Второй па-

раметр должен содержать имя открываемого файла, а мы указываем

Если вы запустите этот пример, то сможете убедиться в том, что наш код

действительно работает напрямую с портом и, соответственно, с принтером.

С другими устройствами, подключенными к

 поддерживающими тесто-

вой режим, работа будет происходит точно так же, т. е. как с простым тек-

стовым файлом.

Обратите внимание, если вместо русского языка вы увидите абракадабру, то

текст придется перекодировать в кодировку DOS. О переводе в различные

кодировки будет написано в следующей главе.

На компакт-диске в директории \Примеры\Глава 6\Printer вы можете уви-

деть пример данной программы.


Copyright © 2020 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.