Читаем Delphi. Трюки и эффекты полностью

В этом разделе мы более подробно остановимся на рассмотрении практических примеров использования СОМ-сервера редактора Microsoft Word. Достаточно популярный редактор обладает обширным набором возможностей, которые можно использовать вручную (традиционное создание и редактирование документов) и с применением технологии СОМ. Основное удобство последнего метода заключается в автоматизации рутинной работы, например составления отчетов. Следующий пример поможет нам разобраться в принципах построения контроллеров автоматизации, которые ранее уже упоминались. Контроллер автоматизации с точки зрения СОМ представляет собой приложение, которое посредством вызова процедур сервера проводит различные манипуляции над документом. В Microsoft Word это может быть написание текста в установленном формате и т. д.

Рассмотрим пример приложения, которое будет создавать новый документ Microsoft Word, записывать в него некоторый текст, добавлять таблицу и сохранять полученный документ в файл. В целях наилучшего понимания принципов использования объектов СОМ первый пример не будет использовать компонент среды разработки. Итак, приступим к созданию приложения. Для начала создаем новый проект и помещаем на форму следующие кнопки:

• открытия приложения Microsoft Word;

• вывода текста;

• добавления таблицы;

• сохранения документа;

• завершения работы Microsoft Word.

Мы не будем использовать компоненты, поэтому добавляем в секцию uses модуль ComOb j. Для работы с СОМ-сервером редактора нам понадобится объект OLE. Добавляем переменную типа OleVariant:

...

var

//Объект OLE

Wrd: OleVariant;

Обработчик кнопки запуска редактора имеет следующий вид (листинг 9.2).

...

Листинг 9.2.

Запуск редактора Microsoft Word

procedure TFormWord.bnOpenWordClick(Sender: TObject);

begin

//Создаем объект

Wrd := CreateOleObject(\'Word.Application\');

//Делаем видимым приложение

Wrd.Visible := true;

//Добавляем новый документ

Wrd.Documents.Add;

end;

После инициализации объекта создаем новый документ, предварительно активизировав (отобразив на экране) приложение. После того как Microsoft Word запущен и в нем создан новый документ, можно записывать текст. Для этого определяем обработчик кнопки вывода текста (листинг 9.3).

...

Листинг 9.3.

Вывод текста в Microsoft Word

procedure TFormWord.bnSetTextClick(Sender: TObject);

begin

//Процедура записи текста

//Устанавливаем шрифт

Wrd.Selection.Font.Size := 20;

Wrd.Selection.Font.Bold := true;

//Пишем текст

Wrd.Selection.TypeText(\'Технология COM является одной из современных\');

Wrd.Selection.TypeText(\'технологий организации межпроцессного взаимодействия\'#13#10#13#10);

//Задаем новые параметры шрифта

Wrd.Selection.Font.Size := 12;

Wrd.Selection.Font.Bold := false;

Wrd.Selection.Font.Italic := true;

Wrd.Selection.TypeText(\'Подпись: \');

Wrd.Selection.Font.Bold := true;

Wrd.Selection.TypeText(\'Delphi\'#13#10#13#10);

end;

Особой сложности данный фрагмент вызывать не должен, так как настройка шрифта и вывод теста производятся посредством интуитивно понятных функций и заданием соответствующих свойств. Но надо пояснить, что набор символов # 13 # 10 эквивалентен переходу на новую строку.

Процедура добавления таблицы является достаточно простой и выглядит следующим образом (листинг 9.4).

...

Листинг 9.4.

Добавление таблицы

procedure TFormWord.bnAddTableClick(Sender: TObject);

begin

//Процедура добавления новой таблицы

Wrd.ActiveDocument.Tables.Add(Wrd.Selection.Range,3,3);

end;

Таблица содержит три столбца и столько же строк. Далее следует пояснить обработчик нажатия кнопки сохранения документа (листинг 9.5).

...
Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных