Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Osnovy_raboty_v_WinXP_1_MU_LR_vse.doc
Скачиваний:
59
Добавлен:
01.04.2015
Размер:
924.67 Кб
Скачать

Технология dde

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

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

По сути DDE-связь представляет собой протокол передачи сообщений между работающими приложениями. При программировании в VisualBasicforApplicationесть возможность программным путем инициировать 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должна присутствовать информацияMicrosoftExcel-Книга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. Задание для самостоятельного выполнения:

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]