- •Государственное образовательное учреждение высшего профессионального образования
- •Часть 1
- •Введение. Технологии обмена данными
- •Тема 1. Динамический обмен данными (dde)
- •1.1 Принципы динамического обмена данными
- •Структура транзакций dde
- •1.2. Транзакции dde
- •1.3. Примеры и задачи: обмен данными между приложениями по протоколу dde
- •Использование функции dde
- •Передача данных из Excel в Access с помощью модуля Access
- •Взаимодействие Access и Word
- •Взаимодействие Access и Excel
- •Построение диаграммы с помощью инструкции ddeExecute
- •Тема 2. Буфер обмена данными
- •2.1 Буфер обмена данными в vb
- •2.2. Методы объекта Clipboar.
- •2.3. Примеры и задачи: программирование буфера обмена данными
- •Тема 3. Ole-технологии
- •3.1. Представление ole-данных
- •3.2. Элемент управления ole-контейнер
- •3.3. Объекты ole как элементы управления
2.3. Примеры и задачи: программирование буфера обмена данными
Задача. Записать графические данные в буфер обмена данными и возвратить данные в другом формате.
Создать Visual Basic форму, на которой разместить элементы управления Picture1, Picture2, Image1 и командную кнопку.
В модуле формы для кнопки создать код:
Private Sub ПУСК_Click()
Picture1.Picture = LoadPicture("C:\Program Files\Microsoft Office\media\office10\autoshap\BD18190_.wmf")
Clipboard.Clear
Clipboard.SetData Picture1.Picture, vbCFMetafile
Picture2.Picture = Clipboard.GetData
Clipboard.SetData Picture1.Image, vbCFBitmap
Image1.Picture = Clipboard.GetData
End Sub
Результат операции обмена представлен на рис.8:
Рис.8
Самостоятельные задания. Выполнить запись текстов в буфер в различных форматах и по требованию пользователя возвратить текст в данном формате (или сообщить, что формат недоступен. Пример интерфейса приведен на рис.9)
Рис.9
Тема 3. Ole-технологии
Содержание темы:
Представление OLE-данных
Элемент управления OLE-контейнер
Создание OLE-объектов
Программирование OLE-контейнера
Объекты OLE как элементы управления
OLE-Automation
3.1. Представление ole-данных
Термин OLE (сокращение от Object Linking and Embedding -связывание и внедрение объектов) – это метод, позволяющий редактировать данные из одного приложения в другом или переносить их в другое приложение. К OLE непосредственно относится понятие контейнер. Контейнером здесь может служить документ (например, документ Word или книга Excel), форма Vb-проекта и пр.Контейнер может принимать один или несколько объектов, поэтому, воспользовавшись OLE, можно формировать документы из нескольких источников данных. Например, если в книгу Excel внедрено изображение из Paint, то в этом случае Excel является контейнером, изображение – объектом, а приложение Paint - сервер-приложением.
Виды данных объекта.
Каждый объект имеет два различных вида данных:
• Данные представления (Presentation Data, PD)
• Естественные данные (Native Data, ND)
Данные представления служат для передачи информации о том, каким образом данные отображаются в исходном приложении. Естественные данные – это сами данные. Например, таблица из Excel должна быть представлена в табличной форме (PD), а содержимое таблицы, то есть значения в ячейках, – это естественные данные (ND). В этом заключается одно из отличий OLE от DDE. При DDE переносятся только естественные данные. За представление данных отвечает целевое приложение.
С OLE-объектами можно осуществлять одну из двух операций: связывание или внедрение. При связывании объекты содержат данные представления и ссылку на естественные данные. Это означает, что естественные данные находятся вне контейнера (в другом файле, например), а данные представления – с объектом-контейнером.
При внедрении как естественные данные, так и данные представления хранятся в объекте-контейнере. Поэтому данные недоступны для других приложений и не существуют в виде отдельных файлов.
Другая возможность OLE – OLE Automation. Эта технология позволяет работать с различными объектами как с элементами управления. Используя OLE Automation, можно оперировать связанными объектами при помощи команд (в большинстве случаев имеются в виду макрокоманды связанных объектов, например, команды VBA)
Рассмотрим несколько возможностей использования OLE-технологий в VB.
