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

Мы не будем использовать компоненты, поэтому добавляем в секцию 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).

...

Листинг 9.5.

Сохранение документа Microsoft Word

procedure TFormWord.bnSaveClick(Sender: TObject);

begin

//Сохранение документа

Wrd.ActiveDocument.SaveAs(ExtractFilePath(Application.EXEName) +

\'_result.DOC\');

end;

Сохранение осуществляется путем вызова MeTOflaSaveAs объекта ActiveDocument, который в качестве параметра принимает путь к файлу. После нажатия кнопки сохранения документ с текстом будет записан в файл (result. doc) каталога, из которого была запущена программа.

Процедура завершения работы основана на вызове метода Quit (листинг 9.6).

...

Листинг 9.6.

Завершение работы с Microsoft Word

procedure TFormWord.bnExitWordClick(Sender: TObject);

begin

//Завершение приложения

Wrd.Quit;

end;

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

Далее приступим к созданию приложения, которое будет подключаться к серверу COM Microsoft Word и выводить текст, дату и время вывода этого текста в активный документ при его смене (переключении между документами). На этот раз мы воспользуемся компонентами WordDocument и WordApplication с вкладки Servers.

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

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

Оружие современной пехоты. Иллюстрированный справочник Часть I
Оружие современной пехоты. Иллюстрированный справочник Часть I

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

Семен Леонидович Федосеев

Военное дело / Военная история / Справочники / Технические науки / Военная техника и вооружение / Образование и наука / Словари и Энциклопедии