Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы работы в WinXP(1) МУ_ЛР_все.doc
Скачиваний:
3
Добавлен:
14.11.2019
Размер:
658.43 Кб
Скачать

Технология dde

Для динамического обмена данными в Windows используется разработанная для этой цели фирмой Microsoft технология DDE — "Dynamic Data Exchange", что означает "динамический обмен данными".

Технология DDE опирается на связь, установленную между фрагментами одного документа, а также между документами различных приложений. Наличие такого механизма связи позволяет автоматически актуализировать данные в документе-приемнике при изменениях в источнике данных.

По сути DDE-связь представляет собой протокол передачи сообщений между работающими приложениями. При программировании в Visual Basic for Application есть возможность программным путем инициировать DDE-канал между двумя приложениями, послать по этому каналу серию команд, а также послать или запросить данные от одного приложения к другому.

Технология ole

Для связывания документов в Windows используется разработанная для этой цели фирмой Microsoft технология OLE — "Object Linking and Embedding", что означает "связывание и встраивание объектов".

Технология OLE опирается на связь, установленную между документом и приложением, а также частично на механизм DDE, разработанный для связи приложений. Использование OLE позволяет перенести в выходной документ фрагмент файла или весь файл (документ) некоторого приложения, при этом он приобретает свойства встроенного или связанного объекта. Выходной документ приобретает при этом свойства составного документа, то есть документа, имеющего встроенные или связанные объекты различных форматов, созданные другими приложениями.

Пример 1

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

Однако не все приложения Windows поддерживают технику OLE. Способные к этому приложения делятся на три группы:

  • OLE-серверы (родительские приложения, приложения-источники) представляют собой приложения, из которых можно встраивать объекты или связывать их с другими приложениями.

  • OLE-клиенты (приложения-приемники) представляют собой приложения, которые могут размещать в своих документах встроенные или связанные объекты из OLE-серверов. Такие документы называют составными.

  • приложения, которые могут выполнять роль как сервера, так и клиента одновременно.

Объекты в технологии ole

Для встраивания или связи могут использоваться объекты самых различных форматов: текст, таблицы, рисунки, звук и т.д. Данные, вставляемые из одного OLE-приложения в другое получают статус объекта OLE уже тогда, когда они копируются в буфер промежуточного обмена. При последующей вставке из буфера или при использовании специальной команды вставки объекта последний размещается в составном документе. Объект хранит информацию о связи с родительским приложением, поэтому при двойном щелчке мышью на объекте его родительское приложение активизируется для последующей обработки объекта.

Связывание и внедрение объектов

Существует два варианта использования OLE: установление связи с объектом; внедрение (встраивание) объекта.

Основное различие между связыванием и внедрением объектов состоит в способе хранения данных.

При использовании связи механизм OLE действует как более усовершенствованный по сравнению с Windows 3.0 механизм DDE. Для этой цели OLE нуждается лишь в сведениях о местоположении объекта (местоположении и имени файла, откуда взят фрагмент данных) и данных объекта (фрагмента), необходимых для его визуального (графического) представления на экране. Очевидно, что приложение-клиент не в состоянии изменить эти данные, поскольку непосредственные данные объекта продолжают физически присутствовать в родительском приложении. После их актуализации в родительском приложении представление объекта в приложении-клиенте тут же меняется. Затем файл-источник следует сохранить, чтобы сохранились и актуализированные данные объекта.

Пример 2

В табличном процессоре открывают файл, содержанием которого является рабочая книга с таблицами. Фрагмент рабочей книги (таблица или ее фрагмент) выделяется и копируется в буфер обмена. Предполагается вставка этого фрагмента в текстовый документ в качестве таблицы. При последующей команде Специальная вставка\Связать (эта команда обычно входит в меню Редактировать или Правка) фрагмент визуально отображается в документе текстового процессора, при этом создается ссылка на файл-источник. При двойном щелчке мыши на связанном объекте выполняется переключение на приложение, обрабатывающее файл-источник.

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

При использовании внедрения механизм OLE включает в составной документ копию оригинального объекта (копию фрагмента оригинального объекта) с его непосредственными данными и данными для управления им, при этом внедренный объект становится частью составного документа. Такой объект существует только в единственном экземпляре и только там, где он внедрен.

Существенно то, что для внедренной копии объекта связь с ее оригиналом не поддерживается. Это означает, что изменения, внесенные впоследствии в оригинальный объект, не отразятся на внедренной копии. Редактирование внедренного объекта возможно лишь путем вызова родительского приложения; приложение-клиент не в состоянии что-либо сделать с внедренным объектом, кроме его удаления или вырезки. Для редактирования внедренного объекта возможны два способа:

  • редактирование по месту, когда окно приложения-клиента принимает вид окна приложения-сервера, то есть меню и панели инструментов приложения-клиента изменяются так, чтобы соответствовать меню и панели инструментов приложения-сервера;

  • редактирование за пределами приложения-клиента с помощью создавшего объект приложения.

Двойной щелчок по внедренному объекту активизирует цепочку связи: Приложение-клиент - Приложение-сервер - внедренный объект для его редактирования по месту. Щелчок мышью вне зоны редактирования объекта в приложении-сервере закрывает цепочку связи между объектом и приложением-клиентом.

Пример 3

В графическом редакторе открывают файл-документ (рисунок), фрагмент которого выделяется и копируется в буфер обмена. При последующем внедрении фрагмента (как объекта графического редактора) в документ текстового процессора командой Вставить или Специальная вставка\Вставить можно двойным щелчком мыши на объекте выполнить активизацию по месту, то есть вызвать графический редактор с загруженным в него фрагментом для последующего редактирования. Связь с файлом, содержанием которого является рисунок-оригинал, отсутствует.

Внедрение объектов в составной документ приводит к значительному увеличению размера последнего. Тем не менее, внедрение имеет некоторые преимущества по сравнению со связыванием. Во-первых, составной документ с внедренными объектами обладает таким свойством, как переносимость, то есть может быть перенесен на другой компьютер, где его можно открыть в своем приложении. Во-вторых, внедренный объект редактируется родительским приложением по месту его нахождения в приложении-клиенте.

Следующие задания включают в себя самостоятельное выполнение операций:

  • использование техники OLE для связывания объекта;

  • использование техники OLE для встраивания объекта.

Возможности связывания документов в Windows рассмотрим на примере связи табличного процессора Excel, имеющего свойства OLE-сервера и текстового редактора WordPad, имеющего свойства OLE-клиента.

Задание 11.1. Исследование техники OLE для связывания объектов

  1. Запустить редактор WordPad и ввести строки:

Информатика

Лабораторная работа «Технология связывания и встраивания объектов в Windows»

Дата:___________

Студент: ________________

  1. Сохранить документ на диске командой Файл|Сохранить как... с типом файла .doc под именем OLE.DOC.

  2. В документе протокола OLE добавить 2 строки:

Исследование техники OLE для связывания объектов

Команда Специальная Вставка|Связать

Перевести курсор на следующую пустую строку.

  1. Запустить табличный процессор Excel и расположить окна WordPad и Excel без перекрытия рядом. В заголовке окна Excel должна присутствовать информация Microsoft Excel - Книга1 (новая книга, которая еще не сохранена).

  2. Активизировать WordPad и в меню Правка и убедится в невозможности выполнить команду Связи. Это означает то, что связь данного документа-приемника с документами-источниками (Excel) отсутствует.

  3. В Excel подготовить небольшую таблицу, например,

Цех 1

Цех 2

Январь

Февраль

Март

Квартал 1

Заполнить цифрами строки для первых трех месяцев и сосчитать суммы для квартала. Выделить таблицу и выполнить команду Правка|Копировать для копирования в буфер области, содержащей таблицу.

  1. Активизировать WordPad и открыть меню Правка. Выполнить команду Специальная вставка..., установить кнопку ВставитьСвязь и нажать ОК. Наблюдать появление на последней строке документа таблицы.

  2. Активизировать Excel и изменить одну или несколько цифр в ячейках таблицы. Убедиться в том, что в WordPad происходит обновление данных. В противном случае повторить пункт 5, предварительно активизировав Excel и сохранив таблицу на диске командой Файл|Сохранить как... под именем TABLE1. По умолчанию для файла будет предложено расширение XLS.

  3. В редакторе WordPad поместить курсор на таблицу и выполнить Правка|Связи...

В окне Связи можно увидеть информацию о связи данного документа-приемника с документом-источником. Здесь же можно обновить или изменить связь, а также редактировать непосредственные данные объекта в приложении-источнике.

  1. Редактировать исходный фрагмент можно, выполнив одно из следующих действий:

  • в окне Связи выбрать необходимую связь (если их несколько) и выполнить команду Открыть источник;

  • выделить объект и выполнить команду Правка|Связанный Объект: Лист| Изменить;

  • выделить объект и выполнить команду Правка|Связанный Объект: Лист| Открыть;

  • дважды щелкнуть мышью по выделенному объекту.

Выполнить одно их указанных действий и наблюдать активизацию Excel с выделением прямоугольной зоны связи. В пределах данной зоны изменить цифры в таблице и наблюдать одновременное обновление объекта в редакторе WordPad.

  1. Сохранить книгу TABLE1 и закрыть Excel.

  2. В редакторе WordPad выделить связанный объект и дважды щелкнуть по нему мышью. Наблюдать старт приложения Excel с одновременной загрузкой файла-источника для последующего редактирования объекта связи.

  3. Задание для самостоятельного выполнения:

Проверить, чем отличается обновление связей при различной очередности загрузки приложений источника и приемника с соответствующими документами.

  1. В документе протокола OLE добавить 2 строки:

Исследование техники OLE для связывания объектов

Команда Вставка|Объект|Создать из файла, Связь

Перевести курсор на следующую пустую строку.

  1. В меню Вставка выполнить команду Объект... и в окне Вставка объекта включить кнопку Создать из файла. Через кнопку Обзор... выбрать какой-либо файл типа BMP и включить флажок Связь. После нажатия ОК наблюдать вставку рисунка.

  2. В редакторе WordPad поместить курсор на рисунок и выполнить Правка|Связи...

В окне Связи можно увидеть информацию о связи данного документа-приемника с документами-источниками. Здесь же можно обновить или изменить связь, а также редактировать непосредственные данные объекта в приложении-источнике.

  1. Редактировать исходный рисунок можно, выполнив одно из следующих действий:

  • в окне Связи выбрать необходимую связь (если их несколько) и выполнить команду Открыть источник;

  • выделить объект и выполнить команду Правка|Связанный Объект: Точечный рисунок | Изменить;

  • выделить объект и выполнить команду Правка|Связанный Объект: Точечный рисунок | Открыть;

  • дважды щелкнуть мышью по выделенному объекту.

Выполнить одно их указанных действий и наблюдать активизацию Paint с загрузкой связанного объекта для его редактирования за пределами приложения-клиента с выделением прямоугольной зоны связи. В пределах данной зоны изменить рисунок и наблюдать одновременное обновление объекта в редакторе WordPad. Закрыть Paint без сохранения изменений.

Задание 11.2. Исследование техники OLE для внедрения объектов

  1. В документе протокола OLE после рисунка добавить текст:

Исследование техники OLE для внедрения объектов

Команда Вставить или Специальная Вставка|Вставить

Перевести курсор на следующую пустую строку.

  1. Стартовать графический редактор Paint и расположить окна WordPad и Paint без перекрытия рядом.

  2. В Paint изобразить небольшой рисунок и сохранить его как документ PICTURE1 (по умолчанию файл будет иметь расширение BMP).

  3. Выбрать инструмент "Прямоугольник" и ограничить им некоторую прямоугольную область рисунка размером не более 2х2 см. Выполнить команду Правка|Копировать для копирования области рисунка в буфер.

  4. Активизировать WordPad и открыть меню Правка. Выполнить команду Вставить.

  5. Наблюдать появление на последней строке документа встроенного фрагмента рисунка.

  6. В редакторе WordPad выполнить Правка|Связи...

Обратить внимание, что в окне Связи не отражена информация о встроенных объектах. Здесь можно увидеть лишь информацию об установленных связях данного документа-приемника с документами-источниками. Щелкнуть по кнопке Отмена.

  1. В редакторе WordPad выделить внедренный объект и вызвать контекстное меню. Выполнить команду Объект: Точечный рисунок|Изменить.

Наблюдать старт копии приложения Paint с загрузкой встроенного объекта для его редактирования по месту. Обратить внимание, что связь с файлом - источником, откуда был взят фрагмент данных (встроенный объект), потеряна. В заголовке приложения вы увидите надпись OLE.DOC - WORDPAD.

  1. В пределах зоны объекта изменить рисунок и щелкнуть вне зоны рисунка. Наблюдать одновременное обновление объекта в редакторе WordPad.

  2. Сохранить документ OLE.DOC.

  3. В редакторе WordPad выделить встроенный объект и вызвать контекстное меню. Выполнить команду Объект: Точечный рисунок | Открыть.

Наблюдать старт копии приложения Paint с загрузкой встроенного объекта для его редактирования за пределами приложения-клиента. В заголовке приложения вы увидите надпись Точечный Рисунок в OLE.DOC - Paint.

  1. В пределах зоны объекта изменить рисунок.

  2. В Paint открыть меню Файл, здесь появятся новые пункты:

Обновить OLE.DOC - для обновления составного документа в процессе редактирования встроенного объекта;

Сохранить копию как... - для сохранения встроенного объекта в отдельном файле;

Выход и Возврат к OLE.DOC. Выполнить эту команду для завершения редактирования встроенного объекта и возврата в WordPad.

  1. Задание для самостоятельного выполнения:

Проверить, влияют ли изменения, внесенные в файл-источник, на копию внедренного объекта.

Какой предлагается тип редактирования встроенного объекта, если по нему дважды щелкнуть мышью.

  1. В документе протокола OLE добавить 2 строки:

Исследование техники OLE для внедрения объектов

Команда Вставка|Объект|Создать из файла

Перевести курсор на следующую пустую строку.

  1. В меню Вставка выполнить команду Объект... и в окне Вставка объекта включить кнопку Создать из файла. Через кнопку Обзор... выбрать какой-либо файл типа BMP, не включая флажок Связь. После нажатия ОК наблюдать вставку рисунка.

  2. В редакторе WordPad поместить курсор на рисунок и выполнить Правка|Связи... Если в документе отсутствуют связанные объекты, то команда Связи... будет деактивирована. При наличии связанных объектов открывается окно Связи, в котором информация о документе-источнике для внедренного объекта отсутствует.

  3. Редактировать внедренный рисунок можно, выполнив одно из следующих действий:

  • выделить объект и выполнить команду Правка|Объект: Точечный рисунок|Изменить;

  • выделить объект и выполнить команду Правка|Объект: Точечный рисунок|Открыть;

  • дважды щелкнуть мышью по выделенному объекту.

Выполнить одно их указанных действий и наблюдать активизацию Paint с загрузкой внедренного объекта для его редактирования по месту с выделением прямоугольной зоны редактирования. В пределах данной зоны изменить рисунок и щелкнуть мышью вне данной зоны. Наблюдать возврат в редактор WordPad.

  1. Задание для самостоятельного выполнения:

Проверить, влияют ли изменения, внесенные во внедренный объект на исходный файл-источник.

Проверить, какие возможности предлагаются командой Вставка|Объект|Создать новый.