Referat.me

Название: Различные способы печати из приложений

Вид работы: доклад

Рубрика: Информатика и программирование

Размер файла: 15.99 Kb

Скачать файл: referat.me-134282.docx

Краткое описание работы: Печать используется в приложениях не так часто, вот и возникают различные вопросы по этому поводу. Иногда бывает необходимо "вывести на принтер" график получившейся функции или отчет о деятельности фирмы и т.д.

Различные способы печати из приложений

В этой статье я постараюсь рассказать Вам о самых удобных и распространенных способах печати текстов и изображений из Ваших приложений. Печать используется в приложениях не так часто, вот и возникают различные вопросы по этому поводу. Иногда бывает необходимо "вывести на принтер" график получившейся функции или отчет о деятельности фирмы и т.д. Прочитав эту статью Вы освоите все самое необходимое для печати данных из Ваших приложений.

Итак, начнем рассмотрение этих способов.

Печать с помощью функций файлового ввода/вывода

Здесь мы будем использовать простейшие функции ввода/вывода в файл, только свяжем выходной поток не с файлом, а с принтером. Рассмотрим пример печати текста, содержащегося в компоненте TEdit:

var P:TextFile;

begin

AssignPrn(P);

Rewrite(P);

Writeln(P, Edit1.text);

CloseFile(P);

End;

Здесь мы объявляем переменную P типа TextFile. Процедура AssignPrn является разновидностью процедуры Assign. Она настраивает переменную P на порт принтера и позволяет работать с ним как с файлом. Rewrite открывает порт для работы, а WriteLn - выводит информацию на печать. Важно закрыть порт принтера командой CloseFile!!!

Этот способ можно использовать для распечатки строк списка или каких-нибудь других данных, по мере их поступления в программу.

Печать текстов в обогащенном формате методом Print

Если Вы пытались попробовать распечатать тексты из Вашего приложения, то , наверно, Вам известно, что компонент TRichEdit имеет метод Print, позволяющий печатать текст, хранящийся в этом компоненте. Этот метод имеет только один параметр - строку, которая при просмотре в Windows очереди печатаемых заданий является именем задания. Приведу пример использования (хотя он очевиден :)

RichEdit1.Print('Print of our RichEdit1');

Следует заметить, что печать воспроизводит все особенности форматирования текста, так же происходит автоматический перенос строк и разбиение текста на страницы. При этом длина строк ни как не связана с размерами компонента RichEdit.

Печать с помощью объекта Printer

В Дельфи имеется класс печатающих объектов TPprinter, который обеспечивает печать текстов, изображений и других объектов, расположенных на его канве (Canvas).

Модуль Дельфи Printers, содержит переменную Printer, которая является объектов типа TPrinter. Поэтому для использования этой переменной в Ваших программах, надо подключить модуль Printers в оператор Uses (к сожалению автоматически этого не делается)

Рассмотрим подробнее некоторые свойства и методы объекта TPrinter:

Свойство, метод Описание
Canvas Канва - место в памяти, в котором формируется страница или документ перед печатью.
TextOut Метод канвы, позволяющий посылать в нее текст
BeginDoc Используется для начала задания печати
EndDoc Используется для завершения задания печати. При этом печать начинается только после вызова этого метода!
PageHeight Возвращает высоту страницы в пикселах
NewPage Принудительно начинает новую страницу
PageNumber Возвращает номер печатаемой страницы

Приведу два примера печати с помощью объекта TPrinter текста и изображения.

Печать текста можно осуществить так:

Printer.BeginDoc;

Printer.Canvas.TextOut(10,10,'Печатаем с помощью объекта Printer');

Printer.EndDoc;

Если Вы хотите напечатать изображение, находящееся, например, в компоненте Image1, то код может быть таким: Printer.BeginDoc;

with Image1.Picture.Bitmap do Printer.Canvas.CopyRect(Rect(0,0,Height,Width),Canvas,Rect(0,0,Height,Width));

Printer.EndDoc;

Казалось и бы и здесь все просто, но у объекта Printer есть существенный недостаток: он не производит автоматическое разбиение на строки и страницы, поэтому печатать длинные тексты предпочтительнее с помощью компонента RichEdit или Memo.

Печать форм

У форм в Delphi есть метод Print, который печатает всю клиентскую область формы. При этом полоса заголовка и полоса главного меню формы не печатаются.

Свойство PrintScale определяет опции масштабирования изображения формы при печати:

poNone Масштабирование не используется. Размер изображения может изменяться в зависимости от используемого принтера
poPrintToFit Делается попытка напечатать изображение формы того же размера, который виден на экране
poProportional Увеличивает или уменьшает размер изображения, подгоняя его под размер страницы.

На этом мы заканчиваем обзор способов печати данных из Ваших приложений. Надеюсь, что еще одним вопросом у Вас стало меньше :))

Список литературы

Михаил Христосенко. Различные способы печати из приложений

Похожие работы

  • Фотопринтеры

    Что могут мини-фотопринтеры? Только одно: печатать фото. Все модели печатают снимки на бумаге наиболее широко распространенного формата 10х15 см, а некоторые способны также воспроизводить панорамные изображения 10х20 или 10х30 см.

  • Чтение, создание, запись и печать текстовых файлов

    Создайте папку с произвольным названием, например, Write. Запустите Visual Basic. В проект будущего приложения добавьте файл Cmdialog.vbx (поддержка окна общих диалогов).

  • Матричные принтеры

    Московский энергетический институт Кафедра информационно-измерительной техники Реферат по курсу “Теоретическая информатика” Матричные принтеры

  • Лабораторная работа №9

    Цель работы: Изучение операторов ввода и вывода, управление формой вывода данных, получение навыков организации печати в удобном для пользователя виде.

  • Лабораторная работа № 16

    Цель работы: Изучение правил описания и использования строк типа string. Задание№ 17 . Из заданного текста на русском языке вывести слова с максимальным кол-вом гласных букв.

  • Принтеры

    Принтеры (печатные устройства) – это устройства вывода данных из ЭВМ, преобразующие информационные ASCII-коды в соответствующие им графические символы (буквы, цифры, знаки и т. п.) и фиксирующие эти символы на бумаге.

  • Построение и анализ простой эконометрической модели

    Проверка наличия линейной связи между соответствующими показателями деятельности коммерческих банков Украины в модуле Multiple Regression ППП Statistica. Расчет теоретических значений зависимой переменной и ошибки модели, вид графика линейной функции.

  • Моделирование электрических цепей с нелинейными элементами

    Моделирование схем с резистивным нелинейным элементом. Исследование характеристик транзистора. Графический ввод, редактирование и анализ принципиальных схем в режимах анализа переходных процессов, частотного анализа и анализа в режиме постоянного тока.

  • Информационные технологии в экономике

    Структура доходов коммерческого банка. Сортировка записей документа по возрастанию наименований статей. Программное обеспечение для создания документов на ЭВМ. Текстовые процессоры. Объекты MS Access: таблица, запрос, форма, отчет, макрос, модуль.

  • Лазерный принтер

    Краткая история развития лазерного принтера. Формирование изображения. Принцип действия. Отклоняющее зеркало.