Учебные материалы по математике | Структурные особенности visual basic | Matematiku5
Вузы по математике Готовые работы по математике Как писать работы по математике Примеры решения задач по математике Решить задачу по математике online

Структурные особенности visual basic


1)Структурные особенности Visual Basic. Подпрограммы. Пример.

Приложение VB(проект)- это совокупность экранных форм, исходных(отдельных) модулей, модулей классов и других элементов, с помощью которых решается некоторая задача. Если проект сравнительно прост, то его программный код можно полностью поместить в модуле формы. Но при увеличении сложности проекта код удобнее составлять не одним большим куском, а частями. Эти части называются модулями. Каждый модуль будет храниться в отдельном файле, что удобно при редактировании их кода. Количество программного кода которое может содержаться в модуле ограничено 65,5 тыс строками. Каждый исходный модуль можно добавить в проект командой ProjectAdd 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

2. Диалоговые окна MsgBox и InputBox. Примеры.

В Visual Basic 6 существует специальный вид окон — диалоговые. В распоряжении разработчика имеется хорошо развитый инструментарий для их создания. Диалоговые окна бывают двух типов — модальные и немодальные. Модальное диалоговое окно — это окно, из которого нельзя перейти в другое окно, не закрыв текущее. Данный вид диалоговых окон используется для выдачи сообщений о ходе работы приложения, его настройки или ввода каких-либо данных, необходимых для работы. Примером такого диалогового окна в программе Visual Basic является окно About. Модальное диалоговое окно вынуждает пользователя совершать некоторые действия или отвечать на запрос приложения вводом информации или выполнением какого-либо действия.

Немодальное диалоговое окно — это окно, позволяющее перемещать фокус на другое окно или форму без закрытия текущего окна. Данный тип диалоговых окон используется редко. Примером немодального диалогового окна в Visual Basic является окно Find (Поиск), дающее возможность осуществлять поиск нужной информации.

Простейшие из диалоговых окон — это окна сообщений и окна, предназначенные для ввода информации. В дополнение к ним в Visual Basic 6 существует набор более сложных стандартных диалоговых окон для приложений:

    Open (Открыть) — диалоговое окно для поиска в файловой структуре нужного файла; Save As (Сохранить как) — для поиска места хранения файла и ввода его имени; Font (Шрифт) — для выбора и установки шрифта; Color (Цвет) — для выбора цветовой палитры; Print (Печать) — для настройки режима печати; Help (Справка) — для работы со справочной системой приложения. Рассмотрим эти диалоговые окна более подробно.

Окно сообщения (MsgBox)

Диалоговое окно сообщения (рис. 7.19) не требует проектирования и вызы вается из программы командой MsgBox или с помощью аналогичной функции MsgBox о, имеющей следующий синтаксис:

MsgBox (prompt[, buttons] [, title] [, helpfile, context])

где:

    prompt — текст сообщения в диалоговом окне. Максимальная длина текста 1024 символа. В этот текст можно вставить в качестве разделителей строк перевод каретки Chr(13), перевод строки Chr(lO) или их комбинацию; buttons — числовое выражение, которое задает параметры для кнопок управления и значков в диалоговом окне и составлено из констант, указанных в табл. 7.8 и 7.9. Если значение не указано, то по умолчанию присваивается значение 0; title — текст заголовка диалогового окна; helpfile — ссылка на файл справочной системы; context — ссылка на содержание в файле справочной системы.

Необходимо иметь в виду, что для задания нескольких параметров кнопок и значков одновременно, следует просто сложить соответствующие константы.

Для примера введите в командном окне среды проектирования Immediate следующую команду и нажмите клавишу <Enter>:

MsgBox "Приветствуем Вас!", vbYesNo + vbExclamation,"Окно сообщений"

В ответ получите диалоговое окно

Таблица 7.8. Константы параметров для значков диалогового окна сообщения

Значок

Константа

Значение

Тип сообщения

vbExclamation

48

Предупреждение

vbQuestion

32

Запрос

vbInformation

64

Информация

vbCritical

16

Ошибка

В диалоговых окнах сообщении можно управлять отображаемыми в окне сообщения кнопками и установкой фокуса на одной из кнопок при открытии окна. Для этого можно использовать константы, приведенные в табл. 7.9.

Таблица 7.9. Константы параметров наличия кнопок в окне сообщения и установки фокуса на кнопку

Константа

Значение

Набор кнопок в диалоговом окне

vbOkOnly

0

OK

vbOkCancel

1

OK, Отмена

vbAbortRetryIgnore

2

Стоп, Повтор, Пропустить

vbYesNoCancel

3

Да, Нет, Отмена

vbYesNo

4

Да, Нет

vbRetryCancel

5

Повтор, Отмена

vbDefaultButton1

0

Устанавливает фокус на первой кнопке

vbDefaultButton2

256

Устанавливает фокус на второй кнопке

vbDefaultButton3

512

Устанавливает фокус на третьей кнопке

vbDefaultButton4

768

Устанавливает фокус на четвертой кнопке

vbApplicationModal

0

Назначает модальность приложения. Диалоговое окно будет модальным, то есть требующим обязательного закрытия для перехода в другие окна

vbSystemModal

4096

Назначает модальность системы. Диалоговое окно будет модальным на уровне системы, то есть пока диалоговое окно не закрыто, в любое другое приложение перейти нельзя

vbMsgBoxHelpButton

16384

Добавляет в диалоговое окно кнопку Справка

VbMsgBoxSetForeground

65536

Объявляет диалоговое окно фоновым окном

vbMsgBoxRight

524288

Выравнивает текст в диалоговом окне по правому краю

vbMsgBoxRtIReading

1 048 576

Переворачивает текст для чтения справа налево

В зависимости от выбора кнопки диалоговое окно MsgBox возвращает одно из значений, заданных системными константами. Это необходимо для анализа нажатой кнопки и выполнения соответствующих действий в программе. В исходном коде для этого можно использовать константы, указанные в табл. 7.10.

Таблица 7.10. Значения констант, возвращаемые кнопками окна сообщения

Кнопка

Константа

Значение при нажатии на кнопку

ОК

vb0k

1

Отмена

vbCancel

2

Стоп

vbAbort

3

Повтор

vbRetry

4

Пропустить

vblgnore

5

Да

vbYes

6

Нет

vbNo

7

Диалоговое окно ввода информации (InputBox)

Достаточно часто в диалоговом окне необходимо не только нажать кнопки выбора действия, но и ввести определенную информацию, которая затем анализируется программой. Для выполнения такого рода действий в Visual Basic можно использовать диалоговое окно ввода информации InputBox (рис. 7.20). Функция InputBox имеет следующий синтаксис:

InputBox (prompt [, title] [, default] [, xpos] [, ypos] [, helpfile, context])

где:

    prompt — текст сообщения в диалоговом окне. Максимальная длина текста 1024 символа. В этот текст можно вставить в качестве разделителей строк перевод каретки Chr(13), перевод строки Chr(lO) или их комбинацию; title — текст заголовка диалогового окна; default — значение текстового поля ввода по умолчанию. Если параметр отсутствует, строка остается пустой; xpos — позиция по горизонтали левого верхнего угла диалогового окна относительно левого верхнего угла экрана. По умолчанию присваивается значение, соответствующее середине экрана; ypos — позиция по вертикали левого верхнего угла диалогового окна относительно левого верхнего угла экрана. По умолчанию присваивается значение, соответствующее середине экрана; helpfile — ссылка на файл справочной системы; context — ссылка на содержание в файле справочной системы.

Для примера введите в командном окне среды проектирования Immediate следующую команду:

strUserTest = InputBox ("Введите пароль", "Запуск приложения", "****")

В результате получите диалоговое окно, показанное на рис. 7.20.

В отличие от диалогового окна MsgBox, в окне InputBox всегда имеются только две кнопки управления: ОК и Cancel. Кнопка ОК подтверждает ввод данных, кнопка Cancel — закрывает диалоговое окно без ввода данных.

3. Четыре принципа объектно-ориентированного программирования. Их реализация в Visual Basic.

VB и объектно-ориентированное программирование

Как уже упоминалось в первой главе, Visual Basic, в определен­ной степени, относится к объектно-ориентированным языкам прог­раммирования. ООП – это методология разработки программ, основанная на представлении ее в виде совокупности объектов, каждый из которых является реализацией определенного класса. В ООП объект представляет собой элемент приложения, например, лист, форму, меню. Программный код и данные структурируются так, чтобы имитировалось поведение фактически существующих объектов. Принадлежность языка программирования к ООП определяется использованием в нем четырех основных принципов: абстрагирования, инкапсуляции, наследования и полиморфизма.

· Абстрагирование – это простое описание сложных объектов окружающей среды. Причем описание должно быть очень точ­ным, чтобы не возникло ошибочного представления о другом объекте. Так, не надо создавать специальных программ для отображения графической информации, а достаточно просто использовать объект Image – это абстрактный объект, содержа­щий все необходимое для отображения изображений.

· Инкапсуляция – это возможность эффективно изолировать данные, методы и свойства от остальной части программы и от случайного разрушения извне.

· Наследование – это возможность создания новых классов на базе уже имеющихся, при этом вновь созданные классы как бы наследуют методы и свойства родительского класса. Наследова­ние позволяет создавать многократно используемый код.

· Полиморфизм – позволяет многократно определять одноимен­ные методы в иерархии классов. Полиморфизм реализуется технологией Automation через механизм позднего связывания, предоставляющего возможность использовать объекты других приложений в качестве компонентов собственных приложений

Наташа

Автор

Наташа — контент-маркетолог и блогер, но все это не мешает ей оставаться адекватным человеком. Верит во все цвета радуги и не верит в теорию всемирного заговора. Увлекается «нефрохиромантией» и тайно мечтает воссоздать дома Александрийскую библиотеку.

Распродажа дипломных

 Скидка 30% по промокоду Diplom2020