TURBO PASCAL |
Новости
|
Процедуры и функции модуля WinPrnПроцедуры и функции модуля WinPrn перечислены в следующей таблице: ┌──────────────────────────┬────────────────────────────────────┐ │ Процедура/функция │ Описание │ ├──────────────────────────┼────────────────────────────────────┤ │ AbortPrn │ Прекращает печать задания, отбрасы-│ │ │ вая все нераспечатанные данные. │ ├──────────────────────────┼────────────────────────────────────┤ │ AssignPrn │ Присваивает принтеру файл. │ ├──────────────────────────┼────────────────────────────────────┤ │ AssingDefPrn │ Присваивает файл используемому по│ │ │ умолчанию принтеру. │ ├──────────────────────────┼────────────────────────────────────┤ │ SetPrnFont │ Начинает печать файла с выбранным│ │ │ шрифтом. │ ├──────────────────────────┼────────────────────────────────────┤ │ TitlePrn │ Выводит заголовок печатаемого фай-│ │ │ ла. │ └──────────────────────────┴────────────────────────────────────┘ Драйверы устройств для текстовых файлов Borland Pascal позволяет вам определить ваши собственные драйверы устройств для текстовых файлов. Драйвер устройства для текстовых файлов представляет собой набор из четырех функций, ре- ализующих полный интерфейс между файловой системой Borland Pascal и каким-либо устройством. Этими четырьмя функциями, с помощью которых определяется лю- бой драйвер устройства, являются функции Open, InOut, Flush и Close. Заголовок каждой функции имеет следующий вид: function DeviceFunc(var F: TextRec) integer где TехtRес (или TTextRec для Windows) - тип записи текстового файла, который определяется в Главе 21. Чтобы в функции использо- вался дальний тип вызова, каждая из них должна компилироваться с директивой {$F+}. Значение, возвращаемое каждой функцией, предс- тавляющей собой интерфейс с устройством, становится значением, возвращаемым функцией IOResult. Возвращаемое значение 0 свиде- тельствует об успешном завершении операции. Для того, чтобы связать функцию, осуществляющую интерфейс с устройством, с конкретным файлом, нужно написать специальную про- цедуру Assign (аналогичную процедуре AssignCrt в модуле Crt или WinCrt). Эта процедура должна присваивать адреса четырех функций, осуществляющих интерфейс с устройствами, четырем указателям на функции в переменной текстового файла. В придачу к этому вы долж- ны сохранить системную константу fmClosed в поле Моdе, записать размер буфера текстового файла в переменную BufSize, сохранить указатель буфера текстового файла в переменной BufPtr и очистить строку Nаме. Предположим, например, что именами четырех функций, реализу- ющих интерфейс с устройством, являются функции DevOpen, DevInOut, DevFlush, DevClose и Assign. Тогда процедура Assing может выглядеть следующим образом: procedure AssignDev(var F: Text); begin with TextRec(F) do begin mode := fmClosed; BufSize := SizeOf(Buffer); BufPtr := @Buffer; OpenFunc := @DevOpen; InOutFunc := @DevInOut; FlushFunc := @DevFlush; CloseFunc := @DevClose; Name[0] := #0; end; end; Для хранения пользовательской информации в функции, реализу- ющей интерфейс с устройством, может использоваться поле записи UserData. Это поле не изменяется файловой системой Borland Pascal. |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |