Бесплатные Рефераты >>> Информатика, Программирование  



 

 

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

 

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

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

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

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

Здесь мы будем использовать простейшие функции ввода/вывода в файл, только свяжем выходной поток не с файлом, а с принтером. Рассмотрим пример печати текста, содержащегося в компоненте 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

Увеличивает или уменьшает размер изображения, подгоняя его под размер страницы.

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

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

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

Для подготовки данной работы были использованы материалы с сайта http://delphid.dax.ru .


 


 

История вычислительной техники: четвертое поколение
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РФ Татарский Институт Содействия Бизнесу Реферат по информатики на тему: История вычислительной техники: четвертое поколение.Выполнил: Группа И-017 Шайдуллин АйратПреподаватель: Козин...

Программа по информатике и вычислительной технике
Министерство торговли Российской Федерации Московский государственный университет коммерции Кафедра экономической информатики УТВЕРЖДЕНО: Учебно-методическим советом Института экономики, учета и...

Создание проекта с использованием программы GeniDAQ и контроллеров серии АДАМ-4000
Министерство образования РТ Альметьевский нефтяной институт Кафедра АИТ Лабораторная работа «СОЗДАНИЕ ПРОЕКТА С ИСПОЛЬЗОВАНИЕМ ПРОГРАММЫ GeniDAQ И КОНТРОЛЛЕРОВ СЕРИИ АДАМ-4000» Выполнили:...

Программное обеспечение сетей ЭВМ
ОглавлениеВведение. 2 Теоретическая часть: "Программное обеспечение сетей ЭВМ" 3 Операционные системы компьютерных сетей 3 Быстродействие сетевой ОС 5 Windows NT Server 7 Коммуникации 7 Обмен...

Моделирование вычислительных систем
Задание 1. Разработка модели мультипрограммной вычислительной системы. В соответствие с вариантом определить параметры средней задачи определить возможность размещения файлов на ВЗУ. Определить параметры минимальной конфигурации...

Алгоритм вибору найкращого варіанту гнучкої виробничої системи
Аннотация В данной курсовой работе разработан перед эскизный проэкт гибкой производственной системы (ГПС). Работа изложена на 24 страницах печатного текста, содержит 4...

Создание и описание базы данных СТУДЕНТЫ (Отчет по курсу Базы данных)
Отчет по курсу «Базы данных». 1. Задача: создать базу данных «Студенты». 2. Структура базы данных. Таблицы: |Название поля |Тип поля |Ключевое поле | |Группы | |Код группы |Счетчик |( | |Название группы...

Ответы на билеты по экзамену ВМС и СТК в МЭСИ
№1. Основные тенденции развития ЭВМ (состав и соотношение технических и программных средств, быстродействие, память, интеллектуальность) Существуют три глобальных области применения ЭВМ: 1. Автоматизация вычислений 2. Применение...

Автоматизированное тестирование при разработке ПО
Автоматизированное тестирование при разработке ПО Виктор Ематин, Борис Позин Аннотация Статья рассматривает один из самых важных этапов при разработке сложных программных систем – этап тестирования. Современные...

MYSQL server
CодержаниеВведение……………………………………………………………………………4 1. Общее описание, запуск и настройка прав доступа к базам данных MySQL……………………….……..…..5 2. Команды пакета MySQL……………………………………………….…..10 1. Основные...

Архівація файлів та створення архіватора текстових файлів
Міністерство освіти і науки України Черкаський національний університет ім. Б. Хмельницького Факультет інформаційних технологій та біомедичної кібернетики Курсова...