Валерий Борисок - Delphi. Трюки и эффекты

Тут можно читать онлайн Валерий Борисок - Delphi. Трюки и эффекты - бесплатно ознакомительный отрывок. Жанр: Программы. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Delphi. Трюки и эффекты
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4.11/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Валерий Борисок - Delphi. Трюки и эффекты краткое содержание

Delphi. Трюки и эффекты - описание и краткое содержание, автор Валерий Борисок, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

«Delphi. Трюки и эффекты», как и все издания данной серии, адресована тем, кто хочет научиться делать с помощью уже знакомых программных пакетов новые, интересные вещи. В первой части книги многое говорится о среде разработки Delphi (самых последних версий) и программировании на языке Object Pascal. Благодаря этому издание подходит и новичкам, и начинающим программистам. Вторая (основная) часть книги описывает удивительные возможности, скрытые в языке, и на примерах учит читателя программистским фокусам – от «мышек-невидимок» и «непослушных окон» до воспроизведения МРЗ и управления офисными программами Word и Excel из приложений Delphi. Купив эту книгу, вы пройдете непростой путь к вершинам программистского мастерства весело и интересно.

Delphi. Трюки и эффекты - читать онлайн бесплатно ознакомительный отрывок

Delphi. Трюки и эффекты - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Валерий Борисок
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

file_Name : string;

begin

//Начало блока перехвата исключения

try

file_Name := ExtractFilePath(Application.EXEName) +

\'worddoc.DOC\

//Инициализируем объект интерфейса

//для доступа к серверу COM Microsoft Word

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

//Добавление документа

wordvar.application.documents.add;

wordvar.application.activedocument.range.insertAfter(now);

//Сохранение документа (аналог действиям: «Сохранить как…»,

//с указанием имени файла)

wordvar.application.activedocument.saveas(fileName);

//Завершение работы с приложением и выгрузка COM-сервера

wordvar.application.quit(true,0);

end;

Предложенный исходный текст демонстрирует подключение к серверу без помощи компонента среды разработки. Для корректной работы необходимо в раздел uses включить COMOBJ – модуль работы с объектом СОМ. Важно отметить, что наличие функций, вызываемых для объекта wordvar, определяется в период выполнения. Это значит, что ошибка может обнаружиться только в период выполнения программы, поэтому весь код работы с объектом помещен в блок try.

Класс TOLEServer

На вкладке Servers находится набор компонентов для доступа к серверам автоматизации. Не все компоненты возвращают ссылку на объект Application, то есть могут быть получены интерфейсы для доступа к таким вложенным объектам, как документ Microsoft Word или рабочая книга Microsoft Excel. Все компоненты унаследованы от класса TOLEServer, который наследует свойства класса Tcomponent. TOLEServer является базовым классом всех СОМ-серверов. Кроме этого, данный класс имеет еще несколько свойств и методов для управления связью с СОМ-сервером. Среди таковых уже знакомое нам свойство AutoConnect, которое автоматически запускает СОМ-сервер и извлекает из него интерфейс, обеспечивающий связь с контроллером. Еще одно важное свойство класса TOLEServer – это ConnectKind, указывающее тип процесса, с которым устанавливается связь. Свойство используется методом Connect, который вызывается автоматически, если свойство AutoConnect истинно. В табл. 9.1 описаны значения, которые может принимать ConnectKind.

Таблица 9.1. Значение свойства ConnectKind

Более подробно следует рассмотреть значение свойства ConnectKind, равное ckAttachToInterface. Соединение с сервером производится посредством использования главного интерфейса Application, но, например, возникает необходимость подключить к нашему проекту такие компоненты как WordDocument или WordParagraphFormat. В этом случае мы просто подключаемся к уже существующему интерфейсу, а не создаем его заново. Также это может быть необходимо, когда контроллер должен отслеживать события, происходящие в СОМ-сервере.

9.4. Управление Microsoft Word и Microsoft Excel

Трюки в Microsoft Word

В этом разделе мы более подробно остановимся на рассмотрении практических примеров использования СОМ-сервера редактора 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).

...

Листинг 9.5.

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

procedure TFormWord.bnSaveClick(Sender: TObject);

begin

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

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

\'_result.DOC\');

end;

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Валерий Борисок читать все книги автора по порядку

Валерий Борисок - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Delphi. Трюки и эффекты отзывы


Отзывы читателей о книге Delphi. Трюки и эффекты, автор: Валерий Борисок. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x