- •1)Структурные особенности Visual Basic. Подпрограммы. Пример.
- •2. Диалоговые окна MsgBox и InputBox. Примеры.
- •3. Четыре принципа объектно-ориентированного программирования. Их реализация в Visual Basic.
- •4. Классы. Интерфейс классов. Создание динамических библиотек на основе классов в Visual Basic. Регистрация библиотек.
- •5. Способы объявления объектных переменных в Visual Basic.
- •6. Раннее и позднее связывание с объектом. Примеры.
- •7. Способы объявления событий классов. Примеры.
- •8. Создание элемента управления ActiveX в Visual Basic. Отображаемые и пользовательские свойств и методы ActiveX-компонент. Передача события приложению–контейнеру. Регистрация компонент.
- •9. Пример динамического способа формирования объектов на форме vb.
- •10)Пример работы с коллекцией объектов, свойствами и методами объектов.
- •11. Работа с отладчиком Visual Basic. Окна Watch, Immediate.
- •12. Оператор On Error. Методы объектов Debug. Условная компиляция. Примеры
- •13. Свойства и методы объектов Debug, Err. Примеры.
- •Объявление переменных
- •Математические операции
- •Строковые операции
- •Оптимизация приложений
- •Оптимизация скорости работы приложения
- •Оптимизация размера приложения
- •Оптимизация размера графики приложения
- •15. Основные свойства и методы объектов Screen. Примеры
- •Свойство ActiveControl
- •16. Основные свойства и методы объектов Clipboard. Примеры.
- •17. Основные свойства и методы объектов App. Примеры
- •18.Редактор меню Menu Editor. Оконные приложения.Основные свойства объекта Menu. Примеры.
- •Отображение контекстных меню
- •Изменения кода для отображения контекстных меню
- •19.Основные объекты (FileSystemObject, File, Drive, Folder и TextStream.), их свойства и методы библиотеки Scripting.FileSystemObject
- •20. Основные свойства, методы и события объекта UserControl.
- •26. История развития объектных моделей.
- •27. Компонентные приложения. Особенности компонент.
- •28. Интеграция приложений средством Automation.
- •29. Объектная модель ms Word. Свойства и методы объекта Application модели ms Word. Пример.
- •30. Примеры процедур на определение списка всех панелей инструментов и тем главного меню ms Word.
- •32. Свойства и методы объектов Options, Dialogs, Selection и Range объектной модели ms Word.
- •33. Объекты, свойства и методы семейства CommandBars
- •34. Объекты и семейства объекта vbe
- •Объект CodeModule .Представляет программу, определенную для таких компонентов проекта как форма, класс или документ. Дополнительные сведения
- •Объект CommandBarEvents
- •Семейство CommandBars
- •Объект vbComponent
- •Семейство vbComponents
- •Объект CodePane
- •Семейство CodePanes
- •Объект Events
- •Семейство LinkedWindows
- •Объект Property
- •Семейство Properties
- •Объект Reference
- •Семейство References
- •Объект ReferencesEvents
- •Объект vbe
- •Объект vbProject
- •Семейство vbProjects
- •Объект Window
- •Семейство Windows
- •Редактор Visual Basic
- •Библиотека объектов Office 2000 и Object Browser
- •37. Объектная модель ms Excel. Свойства и методы объекта Application.
- •38. Объектная модель ms Excel. Свойства, методы, события объекта WorkBook.
- •39. Объектная модель ms Excel. Свойства, методы, события объекта WorkSheet
- •40. Методы класса WorkSheetFunction объектной модели ms Excel. Пример на вычисление выражения.
- •41. Пример использования объекта SpreadSheet в проектах vb.
- •42. Функции работы с матрицами окна vba Excel. Пример решения системы линейных уравнений.
- •43. Свойства объекта Range объектной модели ms Excel.
- •44. Методы объекта Range объектной модели ms Excel. Примеры.
- •45. Пример сортировки слов в строке с использованием объектной модели ms Excel.
- •46. Пример вычисления корня нелинейного уравнения с использованием объектной модели ms Excel.
- •47. Свойства и методы объекта Chart объектной модели ms Excel. Пример.
- •Терминальные свойства объекта Chart
- •Методы объекта Chart
- •События объекта Chart
- •Построение обработчиков событий
- •48. Пример отображения на форме vb графика функции с использованием объектной модели ms Excel. Рассмотреть способ передачи графика через диск и через буфер обмена.
- •49. Методы SolverOk и SolverAdd библиотеки Solver.Xla.
- •50. Методы SolverOptions, SolverSolve и SolverDelete, SolverSave, SolverLoad библиотеки Solver.Xla.
- •52. Пример динамического способа формирования объектов на форме vba Excel.
- •51. Пример решения системы нелинейных уравнений с использованием объектной модели ms Excel.
- •53. Объектная модель (объекты и коллекции) ms Access.
- •54. Свойства и методы объекта Application объектной модели ms Access.
- •55. Интерфейсы объектов данных и интерфейсы прикладного уровня программирования.
- •56. Объектная модель dao рабочей области ms Jet. Объекты и семейства. Пример открытия бд Access.
- •57. Объектная модель dao рабочей области odbcDirect.
- •59.Ручной и программный способ установления связи с источником данных.
- •62.ActiveX-компонент WebBrowser и объект InternetExplorer для работы в www из проектов Visual Basic.
- •86.Особенности работы с логическим инструментом. Пример отображения в окне прямоугольника заданного размера, толщины и цвета.
- •87.Работа со строками в Windows. Изменение цвета и фона строки текста.
- •89.Пример работы с базовыми шрифтами.
- •95.Пример отображения базовых геометрических фигур, использующих api-функции.
- •96.Создание и заполнение произвольных областей. Пример.
3. Четыре принципа объектно-ориентированного программирования. Их реализация в Visual Basic.
VB и объектно-ориентированное программирование
Как уже упоминалось в первой главе, Visual Basic, в определенной степени, относится к объектно-ориентированным языкам программирования. ООП – это методология разработки программ, основанная на представлении ее в виде совокупности объектов, каждый из которых является реализацией определенного класса. В ООП объект представляет собой элемент приложения, например, лист, форму, меню. Программный код и данные структурируются так, чтобы имитировалось поведение фактически существующих объектов. Принадлежность языка программирования к ООП определяется использованием в нем четырех основных принципов: абстрагирования, инкапсуляции, наследования и полиморфизма.
· Абстрагирование – это простое описание сложных объектов окружающей среды. Причем описание должно быть очень точным, чтобы не возникло ошибочного представления о другом объекте. Так, не надо создавать специальных программ для отображения графической информации, а достаточно просто использовать объект Image – это абстрактный объект, содержащий все необходимое для отображения изображений.
· Инкапсуляция – это возможность эффективно изолировать данные, методы и свойства от остальной части программы и от случайного разрушения извне.
· Наследование – это возможность создания новых классов на базе уже имеющихся, при этом вновь созданные классы как бы наследуют методы и свойства родительского класса. Наследование позволяет создавать многократно используемый код.
· Полиморфизм – позволяет многократно определять одноименные методы в иерархии классов. Полиморфизм реализуется технологией Automation через механизм позднего связывания, предоставляющего возможность использовать объекты других приложений в качестве компонентов собственных приложений
4. Классы. Интерфейс классов. Создание динамических библиотек на основе классов в Visual Basic. Регистрация библиотек.
Класс используется для задания структуры объекта. Это своего рода шаблон, на основе которого будут созданы объекты. Для имитации поведения реальных объектов в классах должны быть представлены принципы действия (методы) и данные объектов (свойства).
Чтобы создать модуль класса, следует воспользоваться командой Project\Add Class Module. В отрывшемся диалоге Add Class Module на закладке New выбрать шаблон Class Module (для создания пустого окна модуля класса и заполнения его самостоятельно пользователем) или шаблон VB Class Builder (для запуска мастера классов, рис.85). Мастер классов может быть установлен в виде команды меню VB (Add-Ins\Class Builder Utility), если предварительно загрузить утилиту VB6 Class Builder Utility в память, используя диалог Add-In… Manager, открывающийся командой Add-Ins\Add-In…Manager. Для редактирования существующих классов используется любой из двух последних способов.
Находясь в диалоге Class Builder с помощью команды File\New\ Class следует задать имя класса в поле Name, а в списке Base on – имя класса родителя (принцип наследования). После чего появится возможность создавать свойства (Property), методы (Method), события (Event) и структуры целочисленных констант (Enum). Кроме классов мастер может создавать семейства (Collection).
При создании свойств VB использует процедуры свойств (Property), которые во многом похожи на общие процедуры (Sub) и функции (Function). Чтобы они были видимы в пределах контейнера, их следует объявить как Public.
Вы уже знаете, что значения свойств можно как считывать, так и устанавливать, поэтому для одного свойства требуется две процедуры с одним и тем же именем: одна для чтения, другая для записи значения в свойство. Для этого в заголовке процедур Property используются ключевые слова Let (присвоить) и Get (получить). Разделение процедур свойств на процедуры присваивания и процедуры считывания позволяет создавать свойства, доступные только для чтения или только для изменения (принцип инкапсуляции). Мастер классов (Class Builder) позволяет добавлять свойства к существующему классу с помощью команды File\New\Property (рис.86) или кнопки . В этом окне следует задать имя, тип данных и доступность свойств. Если будет установлена одна из опций Public Property или Friend Property, то мастер, после выполнения команды File\ Update Project, добавит в модуль класса три процедуры Property (Let, Get и Set), а также внутреннюю переменную для хранения значения свойства. Например, окно класса после создания свойства с именем CurX типа Variant будет содержать следующий код.
Private mvarCurX As Variant 'local copy
Public Property Let CurX(ByVal vData As Variant)
'Syntax: X.CurX = 5
mvarCurX = vData 'Обновить значение временной переменной
End Property
Public Property Set CurX(ByVal vData As Variant)
'Syntax: Set x.CurX = Form1
Set mvarCurX = vData
End Property
Public Property Get CurX() As Variant
'Syntax: Debug.Print X.CurX
If IsObject(mvarCurX) Then
Set CurX = mvarCurX
Else
CurX = mvarCurX 'Обновить свойство CurX
End If
End Property
Здесь объявлена локальная переменная mvarCurX в стиле Венгерской нотации. Процедура Property Get по синтаксису является функцией, поскольку возвращает результат в имени, при этом она имеет тот же тип данных, что и параметр, в процедуре Property Let. Существует еще и процедура Property Set, аналогичная Property Let, только она передает не значение свойства, а ссылку на объект. Здесь перед оператором присваивания явно указывается ключевое слово Set (для ссылок на объект, находящихся как на форме, так и за ее пределами).
Если для какого-либо свойства Вы определили один из следующих типов данных: Object, StdFont, StdPicture, то Мастер классов создаст две процедуры свойств Set и Get. Если же тип данных у свойства будет числовой, логический или дата, то – две процедуры свойств Let и Get. И лишь когда тип данных у свойства будет Variant, Мастер классов создаст все три процедуры.
При этом следует помнить, что свойства не должны вызывать никаких действий объекта, которые должны реализоваться в методах.
Методы используются для расширения функциональных возможностей объекта и имеют синтаксис процедур и функций. С помощью команды File\New\Method или кнопки Мастера классов можно добавить методы. Обычно они содержат больше программного кода, чем процедуры свойств, так как в них выполняется обработка данных. Сложные по структуре методы можно разделить и объявить каждую его часть как Private, то есть для внутреннего использования в классе и, тем самым, защитить весь код. Такое разделение отвечает принципу инкапсуляции методов ООП.