
- •Введение.
- •Глава 1. Основы языка Си.
- •Алфавит.
- •1.2. Основные конструкции Си.
- •1.3.2. Ввод.
- •1.4. Базовые типы данных Языка Си.
- •1.4.1. Идентификаторы.
- •1.4.2. Типизированные константы.
- •1.4.3. Переменные.
- •1.4.3.1. Целые типы.
- •1.4.3.2. Вещественные типы.
- •1.4.3.3. Символьные типы.
- •1.4.4. Тип данных строка.
- •1.4.5. Структуры.
- •1.4.5.1. Массивы.
- •1.4.5.2. Записи.
- •1.4.6. Область видимости и время жизни переменных.
- •1.5. Основные операторы.
- •1.6. Препроцессор.
- •1.7. Программы. Функции.
- •1.8. Указатели.
- •1.9. Указатели и функции.
- •1.10. Файлы.
- •1.11. Дополнительные функции Си.
- •1.11.1. Функции преобразования.
- •1.11.2. Преобразования символьных строк: atoi(), atof().
- •1.11.3. Функции, работающие со строками.
- •1.12. Особенности программирования на языке Си.
- •1.12.1. Модули. Многомодульное программирование.
- •1.12.2. Модели памяти.
- •1.12.3 Программирование в dos и Windows
- •1.12.4 Использование языка ассемблера в программах на Си.
- •Глава 2. Примеры использования языка Си.
- •2.1. Сортировка.
- •2.2. Рекурсивные алгоритмы.
- •2.3. Задача Ханойские башни.
- •3.2.1. Классы.
- •3.2.2. Перегрузка функций.
- •3.2.3. Конструкторы.
- •3.2.4. Деструкторы.
- •3.2.5. Конструкторы с параметрами.
- •3.2.6. Введение в наследование.
- •3.2.7.Виртуальные функции.
- •3.2.8. Указатели на объекты.
- •4.2. Компоненты vcl. Свойства, события, методы.
- •В отличие от свойств методы не видны в окне инспектора объектов.
- •4.2.1.Типы компонент
- •4.2.2. Иерархия классов vcl
- •4.4.Визуальные компоненты (vcl).
- •4.5. Программы, управление событиями, исключения.
- •4.6.Стратегия отладки Windows-программ.
- •4.7.Использование компонент vcl в разработке программ.
- •4.8.Графические компоненты.
- •4.9.Мультимедиа.
- •4.10.Спрайтовая графика.
- •4.11. Объектная технология ole2.
- •4.12.Библиотеки dll.
- •4.13.Разработка визуальных компонент.
- •4.14. Введение в программирование cgi.
- •4.15. Программирование баз данных.
- •4.16. Пакеты.
- •Заключение.
- •Литература:
- •Глава 1. Основы языка Си. 4с.
- •Глава 2. Примеры использования языка Си. 48c.
4.11. Объектная технология ole2.
Фирма Microsoft включила в систему Windows 95 подсистему внедрения и связывания объектов. В общем виде OLE2 позволяет пользователю получить доступ к объектам разработанных систем в приложении, с которым он работает. Например, работая в Word, можно вызвать таблицу Excel, обработать определенным образом данные, а результат запомнить в Word. Кроме этого автоматизация OLE2 позволяет программисту включать в свои программы разработанные компоненты, например Word.
Основа OLE2 - Com -компонентная модель объекта (Component Object Model), которая предусматримает модульность и совместитмость во взаимодействии между компонентами, написанными на разных языках. Соm определяет двоичный интерфейс, независимый от языка программирования, который может вступать в коммуникацию с другими компонентами, ничего не зная о них. Объекты, ориентированные на внешнее использование и доступные только из программы называются автоматными объектами OLE. Рассмотрим пример программы, которая вызывает Word, создает новый файл и записывает в Word содержимое компонента Edit.
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
#include <OleAuto.hpp> //подключение средств автоматизации OLE
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Variant V;
try {
V = CreateOleObject("Word.Basic");
}
catch(...){
ShowMessage("Не могу запусть Word");
throw;
Close();
}
V.OleProcedure("AppShow");
V.OleProcedure("FileNew");
V.OleProcedure("Insert", Edit1->Text);
}
//---------------------------------------------------------------------------
Рассмотрим как работает програмы.
Прежде всего необходимо указать в программе команду подключения средств, отвечающей за автоматизацию OLE #include <OleAuto.hpp>.
Далее по команде V = CreateOleObject ("Word.Basic"); вызываем Word, делаем приложение видимым по команде V.OleProcedure ("File New"); создаем новый документ по команде V.OleProcedure ("File New"). Команда V.OleProcedure ("Insert", Edit1->Text); текст из редактора Edit и записывает в Word).
Как видно, в программе используются средства обработки исключений
try {
V = CreateOleObject("Word.Basic");
}
catch(...){
ShowMessage("Не могу запусть Word");
throw;
Close();
которые в случае ошибки закрывают программу.
Кроме рассмотренного примера для автоматизации OLE существуют стандартные объекты OCX, которые похожи на визуальные компоненты C++Builder, но на самом деле являются самостоятельными объектами.
Объекты OCX могут быть включены в программу не только на C++Builder, но и Delphi. Но в отличии от компонент C++Builder - они не включаются в код программы, поэтому при распространении программного обеспечения, использующего компоненты OCX необходимо распространять и сами компоненты OCX.