- •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.Создание и заполнение произвольных областей. Пример.
1)Структурные особенности Visual Basic. Подпрограммы. Пример.
Приложение VB(проект)- это совокупность экранных форм, исходных(отдельных) модулей, модулей классов и других элементов, с помощью которых решается некоторая задача. Если проект сравнительно прост, то его программный код можно полностью поместить в модуле формы. Но при увеличении сложности проекта код удобнее составлять не одним большим куском, а частями. Эти части называются модулями. Каждый модуль будет храниться в отдельном файле, что удобно при редактировании их кода. Количество программного кода которое может содержаться в модуле ограничено 65,5 тыс строками. Каждый исходный модуль можно добавить в проект командой Project\Add Module.все описания в исходном модуле должны быть с видимостью Public(то есть глобальными). Модуль можно использовать в нескольких формах или даже нескольких проектах. Представление программного кода приложения в виде отдельных компактных модулей–это одно из проявлений модульного принципа программирования (МПП). Другим проявлением МПП является разбиение программного кода уже внутри модуля на отдельные части–подпрограммы: процедуры-события и подпрограммы общего назначения (ПОН) –общие процедуры и функции, не связанные с конкретными событиями объектов и которые разработчик создает по своему усмотрению. Один модуль формы может содержать несколько процедур –событий и подпрограмм общего назначения. ПОН могут размещаться в любых модулях, при этом они выполняют самостоятельные действия и предназначены для многократного использования. Общая структура программного кода модуля формы VB может быть представлена следующей схемой.[<Раздел контейнерных (уровня модуля) описаний>] [<Начало n-й процедуры-события> <Раздел локальных описаний> <Раздел операторов > <Конец n-й процедуры - события>] [<Начало k-й ПОН><Раздел локальных описаний> <Раздел операторов><Конец k-й ПОН>],
В модуле формы общих процедур и функций может и не быть, а в исходном модуле, наоборот, процедур-событий не должно быть. Приведенная структура не является строго обязательной. Так, разделы описаний могут вообще отсутствовать или располагаться внутри блоков операторов, а процедуры-события и ПОН могут размещаться в программном коде в любом порядке. Процедура-событие вызывается в ответ на какое то событие объекта (щелчок мыши по кнопке или изменение значения поля, перемещение мыши, нажатие символа на клавиатуре). Она после запуска программы (загрузки формы) постоянно находится в состоянии ожидания события. Общими процедуры и функции называются потому, что могут быть вызваны явно из любой подпрограммы другого контейнера, если только они небыли объявлены как Private. После выполнения такой подпрограммы происходит автоматический возврат в то место программы, откуда подпрограмма была вызвана. Процедура и функция имеет имя и возможный список формальных параметров (СФормП). Синтаксис описания процедур и функций следующий
[Private |Public][Static] Sub<имя процедуры> [(<СФормП>)]
<Раздел локальных описаний><Раздел операторов>
End Sub
[Private|Public][Static] Function<имя функции>
[(<СФормП>)] [As<Тип>]
<Раздел локальных описаний><Раздел операторов>
End Function
Private или Public–это области видимости. Если область явно не указана, то по умолчанию подпрограмма будет отнесена к классу Public. Наличие в заголовке описания подпрограммы слова Static позволит сохранить значения всех локальных переменных между последовательными вызовами этой подпрограммы. При отсутствии этого слова все значения локальных переменных обнуляются перед обращением к подпрограмме. Процедуры и функции могут иметь формальные параметры, которые могут быть входными и выходными. Входной параметр–это переменная, значение которой должно быть установлено до начала работы подпрограммы и которая участвует в работе подпрограммы. Выходной параметр–это переменная, которая получает свое значение в результате работы подпрограммы. Входные и выходные параметры в списке формальных параметров записываются через запятую с обязательным указанием типа параметра. Разделение на входные и выходные формальные параметры происходит в заголовке подпрограмм с помощью ключевых слов byVal и byRef ( поумолчанию). В списке формальных параметров можно определить необязательный параметр, если сопроводить его ключевым словом Optional. Общая процедура вызывается как отдельный оператор со списком фактических параметров СФактП, а функция может вызываться либо из выражения (при этом она возвращает результат работы в имени функции), либо как отдельный оператор, то есть как общая процедура, тогда результат возвращается через выходные параметры. Список фактических параметров–это входные параметры для подпрограммы, которые могут быть переменными, константами, динамическими массивами и выражениями. В списке фактических параметров для необязательного параметра может отсутствовать значение.
Синтаксис оператора вызова подпрограммы:
CallИмя_подпрограммы[(<СФактП>)]
Или бесскобочная форма записи оператора вызова подпрограммы: Имя_подпрограммы[<СФактП>]
По умолчанию формальные параметры в подпрограмме являются одновременно входными и выходными, если не использовать перед ними ключевого слова byVal. Тогда процесс передачи фактических параметров на место формальных параметров при вызове подпрограммы будет выполняться по ссылке (т.е. будет передаваться адрес фактической переменной). Это значит, что подпрограмма получает доступ к области памяти, где хранится оригинальное значение переменной, и может его изменить в подпрограмме. Такой формальный параметр часто называется параметром-переменной.Возможна передача фактических параметров по значению. В этом случае переменная копируется, и подпрограмма получает только копию отзначения переменной, а не адрес. Но тогда перед такими формальными параметрами в заголовке подпрограммы следует указать ключевое словаbyVal. Это защитит передаваемую переменную (фактический параметр) от изменения. Такой формальный параметр часто называется параметром-значением.
Пример. Описать процедуру определения стороны ромба по известному углу и радиусу вписанной окружности и две функции, вычисляющие площадь треугольника и площадь параллелограмма.
Dim A As Double,B As Double,C As Double, As Double
Private Sub Ромб(ByVal R As Double,ByVal A As Double,Z As Double)
If sin(A)<=0 then
MsgBox "задайте другой угол"
Else
Z=2*R/sin(A)
End if
end Sub
Private Function Parall(ByVal A As Double,ByVal B As Double,ByVal Angle As Double,Z As Double)
If sin(Angle)<=0 then
MsgBox "задайте другой угол", vbCritical, "Ошибка"
Else
Z=A*B*sin(Angle)
End if
End Function
Private Function Triangle(ByVal A As Double,ByVal B As Double,ByVal C As Double)As Double
P#=(A+C+B)/2
P=P*(P-A)*(P-B)*(P-C)
IF P<0 then
MsgBox "неврно заданы параметры",_vbCritical, "Ошибка"
Else
Triangle=Sqr(P)
End if
end Function
Private Sub Form_Load()
A=10^ B=3.1415926/4^ C=7
call Ромб(A,B,Romb#)
MsgBox "сторона ромба=" & Romb,,_"подпрограммы"
Z=triangle(A,Round(B*10),C)
MsgBox "площадь треугольника=" & Z,,_"подпрограммы"
Parall A,C,B,Z
MsgBox "ПлощадьПарал-ма=" & Z,,_"подпрограммы"
End Sub