
- •Корпоративные информационные системы. Задача интеграции. Корпоративные системы.
- •Модель osi – набор стандартов для построения корпоративной системы
- •Интегрированные и комплексные приложения
- •Задача: общие данные, общие процедур, общие вычислительные ресурсы.
- •Проблемы на пути интеграции
- •Прозрачность. Открытость. Масштабируемость. Концепции аппаратных решений. Определение распределенной системы. Прозрачность.
- •Открытость.
- •Масштабируемость.
- •Параллелизм.
- •Raid-технологии.
- •Концепции аппаратных решений. Мультипроцессоры.
- •Гетерогенные мультикомпьютерные системы.
- •Симметричное мультипроцессирование
- •Кластеры.
- •Двухуровневые, трехуровневые, распределенные одноранговые информационные системы. Виды ис
- •Функциональная нагрузка компонентов в ис
- •Двухуровневые архитектуры
- •Трехуровневые архитектуры
- •Распределенные одноранговые архитектуры
- •Единое информационное пространство. Подход к построению объектно-ориентированной одноранговой информационной системе.
- •Архитектура взаимодействия компонент распределенной ис
- •Обзор методов интеграции. Введение
- •Пути устранения аппаратных различий, кросс – платформенные приложения.
- •Java applets, апплеты.
- •Файлы (буферы) общего доступа.
- •Единый язык доступа к данным (sql).
- •Обмен сообщениями (dde).
- •Удаленный вызов процедур (rpc)
- •Вставка и внедрение объектов
- •Ole (связывание и внедрение объектов), ole Automation.
- •Классификация приложений по отношению к технологии ole (com).
- •ActiveX объекты.
- •Идентификация com объектов.
- •Сравнение com (ActiveX) объектов и java апплетов.
- •Доступ к удаленным объектам (dcom, .Net, corba)
- •Использование командных файлов и скриптов
- •Доступ к базам данных (ado, dao, odbc)
- •Применение web-технологий
- •Именованные каналы
- •Объектно-ориентированное программирование в vba Среда программирования. Типы данных. Процедуры. Окно проекта, окно свойств, окно кода, окно немедленно выполняемых команд, окно контрольных значений.
- •Процедуры, функции, передача параметров, область видимости.
- •Типы данных.
- •Вызов макроса с вычисляемым именем
- •Запуск макроса в заданное время
- •Запуск внешней программы, управление ею
- •Вызов api-функций и других библиотечных функций
- •Программное изменение кода.
- •Динамические массивы
- •Объектно-ориентированное программирование Базовые понятия ооп
- •Расширение объектной модели
- •Коллекция
- •Раннее и позднее связывание
- •Дополнительные элементы управления (ActiveX –объекты)
- •Описание программирования в vba, модели com Доступ к вставленным в документ ole-объектам
- •Доступ к внешним com-серверам
- •Вычисляемые свойства, свойства только для чтения.
- •События. Обработчики событий.
- •Использование событий объекта Application
- •Использование диалогов
- •Свойство для программиста.
- •Пользовательские классы. Классы.
- •Класс, объекты которого реагируют на события.
- •Моделирование наследования. Фактическое наследование. WithEvents.
- •Пользовательские события.
- •Как исп польз события
- •Создание экземпляра класса.
- •Автоматическая сборка мусора
- •Уничтожение экземпляра класса
- •???Интерфейсы.
- •???Интеграция при помощи промежуточного буфера
- •Обмен сообщениями. Протокол dde.
- •Задачи интеграции и децентрализации.
- •Фрагментация данных и размещение
- •Язык доступа к данным sql Стандартные команды
- •Язык запросов
- •Изменение данных при помощи sql
- •Изменение структуры базы данных при помощи ddl
- •Выполнение команд изменения структуры, изменения базы данных
- •Расширения Jet 4.0 ansi-92
- •Доступ к базам данных.
- •Доступ к базам данных с помощью odbc.
- •Доступ через odbc из Delpi7.
- •Доступ к базам данных с помощью технологий ado. Соединение, курсор
- •Свойства и методы набора записей (курсора).
- •Вызов отчетов, сформированных в базе данных
- •Пример dao
- •???Доступ к базам данных с помощью технологий dao.
- •???Доступ к базам данных с помощью web технологий.
- •Удаленный вызов процедур.
- •Обращение к удаленным объектам. Привязка клиента к объекту. Статическое и динамическое удаленное обращение к методам. Передача параметров. Dce, rmi.
- •Распределенная система объектов corba. Введение.
- •Архитектура системы.
- •Структура связей corba.
- •Исключения corba.
- •Передача параметров.
- •Corba-объекты и серванты.
- •Отображение idl на языки программирования
- •Объектные адаптеры.
- •Транзакции и сервис транзакций в corba.
- •Обзор технологий dcom, .Net Определение
- •Немного истории
- •Решение .Net
- •Модель .Net
- •Обзор двоичных файлов .Net.
Процедуры, функции, передача параметров, область видимости.
Различают процедуру (Sub), не возвращающую значение, и функцию (Function), то есть возвращающую значение программу. В VBA несколько различается синтаксис передачи параметров в процедуру и в функцию: параметры процедуры не заключаются в круглые скобки. Вызов функции обычно встречается в выражении. Но разрешен процедурный вызов функции, при этом, очевидно, возвращаемый результат теряется.
В процедуру или функцию можно передавать параметры. Описание параметров (аргументов) – это список формальных параметров. Он должен включать имена параметров. Параметр может быть обязательным или опциональным (с описателем Option). В описании параметров можно сразу задавать и значение «по умолчанию» (после имени пишется "= значение"). Это необходимо в случае задания неполного списка параметров при вызове функции (или процедуры), что возможно для опциональных параметров.
Не обязательным является описатель типа параметра (по умолчанию – Variant). Кроме того, можно указать способ передачи параметра: по ссылке (ByRef) и по значению (ByVal). При передаче параметра по ссылке его изменение внутри процедуры изменяет фактически переданную переменную. При передаче параметра по значению в локальной памяти процедуры формируется собственная переменная, начальное значение которой соответствует значению фактического параметра (он при этом он может быть произвольным выражением!).
В VBA допускается позиционная передача параметров и поименованная. При позиционной передаче фактические параметры должны находиться строго в тех позициях, в которых встречаются соответствующие формальные. Если список параметров достаточно длинный, и достаточно большое количество параметров носит опциональный характер, то вызов функции выглядит не очень симпатично, например, так: Documents.Open(“doc12.doc”,,,,”1”). Видимо, понятнее и проще написать так: Documents.Open(PasswordDocument := ”1”,FileName:=“doc12.doc”). Очевидно, что оба способа вызова допустимы и для встроенных и для написанных функций.
VBA по умолчанию не требует описания переменных, но строго контролирует совпадение типа при передаче параметров по ссылке. Если Вы хотите включить контроль типов для любых ситуаций, то поставьте в модуле в самой первой строке описатель Option Explicit. При этом VBA будет контролировать использование переменных и выдавать сообщение об ошибке, например, в таком случае:
Dim i1 as Integer, i2 as Single
i2=10.5
For i1=1 to 10
i1=(i2+i1)/3
Next
Подобный контроль поможет вам быстрее отладить вашу программу.
Для того же рекомендуется использовать описание констант. Если некоторая величина встречается в программе неоднократно, но не изменяется, опишите ее в виде константы. После этого VBA не позволит вам допустить ошибку – изменить ее значение. Описание выглядит так: Const pi=3.14
При описании переменных указывается область видимости (или по-другому, доступности): область_видимости имя As тип
Здесь область_видимости – один из описателей: Dim, Public, Private, Static. Dim – переменные, описанные таким образом на уровне модуля доступны в текущем модуле, а переменные, описанные внутри процедуры, доступны только внутри процедуры. Описатель Public может использоваться только на уровне модуля. Такие переменные доступны во всем проекте. Если у модуля не стоит описатель Option Private Module , то Public переменные доступны и из других приложений. Описатель Private тоже используется на уровне модуля и описывает переменные, доступные только внутри данного модуля. Static – переменная сохраняет свое значение между вызовами функции, но остается невидимой за ее пределами.
В механизме статических переменных VBA, по-видимому, есть ошибка. При добавлении элемента управления на лист, видимо перестраивается объектная модель, причем делается это сразу после завершения текущей процедуры, потому теряются значения статических переменных.