ВУЗ:
Составители:
34
4. Доработайте учебный пример контроллера Microsoft Excel с механиз-
мом позднего связывания так , чтобы генерируемый отчет удовлетворял вашему
представлению о хорошем дизайне. Например , измените цвета и размеры
шрифтов, вставьте заголовок , поэкспериментируйте с цветами заливки ячеек,
стилями их рамок и т. п.
5. Разработайте контроллер Microsoft Word с механизмом позднего свя-
зывания, подобный рассмотренному в пособии генератору отчетов, но с ис-
пользованием упомянутого объекта Word.Basic . Тем самым вы обеспечите
совместимость реализованного контроллера с прежними версиями сервера:
Word version 6.0 и Word for Windows 95.
6. Разработайте контроллер автоматизации, использующий механизм
позднего связывания одновременно с двумя серверами: Microsoft Word и Excel;
для решения следующей задачи. Таблица в книге Excel должна быть скопиро-
вана в документ Word и соответствующим образом отформатирована. При же-
лании можно комбинировать различные варианты механизмов связывания с
серверами автоматизации.
7. Разработайте контроллер с механизмом позднего связывания для любо -
го доступного вам сервера автоматизации, не описанного в данном пособии.
Например , Microsoft Access, Outlook, PowerPoint или др.
8. Разработайте контроллер автоматизации Microsoft Word или Excel, по-
добный рассмотренным в пособии генераторам отчетов , но с использованием
механизма раннего связывание через диспинтерфейс описанным в пособии спо-
собом обращения к свойствам и методам диспинтерфейса через
IDispatch:Invoke.
9. Воспользуйтесь компонентами вкладки « Servers» палитры , получен-
ными путем импортирования библиотек типов соответствующих серверов ав -
томатизации, для разработки контроллера автоматизации Microsoft Word или
Excel, подобного рассмотренным в пособии генераторам отчетов . Сравните за-
траты на реализацию такого контроллера с описанными в пособии способами.
10. Разработайте контроллер автоматизации Microsoft Word или Excel,
реализующий обработку каких - либо событий , возникающих на сервере. На-
пример , выделение абзаца Word или диапазона ячеек Excel и т.п. Вам необхо-
димо изучить COM-технологию «объектов с подключением» (Connectable Ob-
jects), обеспечивающей механизм событий в модели COM. Затем , просматривая
библиотеку типов сервера, выбрать требующийся вам исходящий интерфейс
(outgoing interface) и реализовать на клиенте соответствующий ему объект–
приемник событий (event sink). Например , сервер Excel поддерживает исходя-
щий интерфейс IAppEvents с большинством используемых на практике собы -
тий . Реализация приемника при помощи рассматриваемых в пособии инстру-
ментальных средств не представляет затруднений . Например , библиотека
C++Builder содержит специальный шаблон классов TEventDispatcher (см .
уже использованный нами заголовочный файл utilcls.h), который удобно
использовать в качестве базового при разработке путем наследования собст-
венного класса приемника.
34 4. Доработайте учебный пример контроллера Microsoft Excel с механиз- мом позднего связывания так, чтобы генерируемый отчет удовлетворял вашему представлению о хорошем дизайне. Например, измените цвета и размеры шрифтов, вставьте заголовок, поэкспериментируйте с цветами заливки ячеек, стилями их рамок и т.п. 5. Разработайте контроллер Microsoft Word с механизмом позднего свя- зывания, подобный рассмотренному в пособии генератору отчетов, но с ис- пользованием упомянутого объекта Word.Basic . Тем самым вы обеспечите совместимость реализованного контроллера с прежними версиями сервера: Word version 6.0 и Word for Windows 95. 6. Разработайте контроллер автоматизации, использующий механизм позднего связывания одновременно с двумя серверами: Microsoft Word и Excel; для решения следующей задачи. Таблица в книге Excel должна быть скопиро- вана в документ Word и соответствующим образом отформатирована. При же- лании можно комбинировать различные варианты механизмов связывания с серверами автоматизации. 7. Разработайте контроллер с механизмом позднего связывания для любо- го доступного вам сервера автоматизации, не описанного в данном пособии. Например, Microsoft Access, Outlook, PowerPoint или др. 8. Разработайте контроллер автоматизации Microsoft Word или Excel, по- добный рассмотренным в пособии генераторам отчетов, но с использованием механизма раннего связывание через диспинтерфейс описанным в пособии спо- собом обращения к свойствам и методам диспинтерфейса через IDispatch:Invoke . 9. Воспользуйтесь компонентами вкладки «Servers» палитры, получен- ными путем импортирования библиотек типов соответствующих серверов ав- томатизации, для разработки контроллера автоматизации Microsoft Word или Excel, подобного рассмотренным в пособии генераторам отчетов. Сравните за- траты на реализацию такого контроллера с описанными в пособии способами. 10. Разработайте контроллер автоматизации Microsoft Word или Excel, реализующий обработку каких-либо событий, возникающих на сервере. На- пример, выделение абзаца Word или диапазона ячеек Excel и т.п. Вам необхо- димо изучить COM-технологию «объектов с подключением» (Connectable Ob- jects), обеспечивающей механизм событий в модели COM. Затем, просматривая библиотеку типов сервера, выбрать требующийся вам исходящий интерфейс (outgoing interface) и реализовать на клиенте соответствующий ему объект– приемник событий (event sink). Например, сервер Excel поддерживает исходя- щий интерфейс IAppEvents с большинством используемых на практике собы- тий. Реализация приемника при помощи рассматриваемых в пособии инстру- ментальных средств не представляет затруднений. Например, библиотека C++Builder содержит специальный шаблон классов TEventDispatcher (см. уже использованный нами заголовочный файл utilcls.h ), который удобно использовать в качестве базового при разработке путем наследования собст- венного класса приемника.