Скачиваний:
13
Добавлен:
30.09.2018
Размер:
356.86 Кб
Скачать

Лабораторная работа № 5 Процедуры и функции

Задание:Модифицировать код приложенияSatm4, оформив как отдельные процедуры:

  • формулы расчета параметров стандартной атмосферы в тропосфере и стратосфере,

  • вывод сообщений, когда значения высот вводятся с ошибкой,

  • запрет ввода текстовых символов в поля ввода,

  • запрет нажатия клавиши OK,если хотя бы в одном из полей ввода отсутствуют цифровые символы.

В ходе работы необходимо

изучить:

  • команды меню для создания процедур;

научиться:

  • добавлять новые формы к проекту,

  • создавать код процедур.

  1. Теоретическая часть

1.1 Меню среды программирования

Меню Tools (Инструментарий) содержит команды, которые позволяют пользователю: создавать свои процедуры, настраивать параметры системы программирования, создавать свое меню.

  • Add Procedure (Создать процедуру). Открывает окно диалога, помогающее программисту создать процедуру, функцию, свойство или событие. Командой открывается диалог Add Procedure, позволяющий создать заготовку процедуры или функции при условии, что окно кода является текущим. Введите имя процедуры, установите переключатели в требуемое положение, щелкните на кнопке ОК, и соответствующая заготовка будет вставлена в текст.

  • Procedure Attributes (Атрибуты). Позволяет установить атрибуты для свойств и методов объекта.

  • Menu Editor (Редактор меню). Открывает окно редактора меню, позволяющее присоединить меню к текущей форме.

  • Options (Параметры). Открывает окно диалога (шесть вкладок), позволяющее менять параметры и настройки системы программирования.

1.2 Процедуры и функции

Процедуры и функции являются важными блоками программы на любом языке процедурного типа, а в таком языке, как Visual Basic практически весь код программы состоит из процедур и функций.

В программе на языке Visual Basic можно использовать несколько видов процедур и функций:

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

  • Функция во всем подобна процедуре, а единственное ее отличие состоит в том, что функция возвращает значение в то место, откуда она была вызвана.

  • Процедура-обработчик события отличается от обычной процедуры тем, что программа вызывает ее автоматически при наступлении соответствующего события.

  • Процедура-свойство. Чтобы снабдить существующий объект (например, форму) новым свойством, необходимо создать пару процедур, которые будут автоматически вызываться каждый раз, когда свойству присваивают значение или обращаются к значению свойства .

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

ИмяПроцедуры[Параметр1, Параметр2,]

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

Call ИмяПроцедуры (Параметр1, Параметр2,)]

Visual Basic позволяет программисту объявлять собственные процедуры и функции. Для объявления процедуры используют следующий синтаксис:

[Private/Public/Priend] [Static] Sub ИмяПроцедуры [(Параметры)]

[Операторы]

[Exit Sub]

[Операторы]

End Sub

Синтаксис объявления функции:

[Private/Public/Friend] [Static] Function ИмяФункции [(Параметры)] [As Имя Типа]

[Операторы]

[ИмяФункции = Выражение]

[Exit Function]

[Операторы]

[ИмяФункции = Выражение]

End Function

В данной записи ключевые слова имеют следующие назначения:

  • Public - объявляет процедуру или функцию как глобальную, т.е. она будет доступна всем процедурам и функциям всех модулей и форм.

  • Private - объявляет процедуру только в пределах того модуля, где она объявлена.

  • Friend - объявляет процедуру только в модулях классов.

  • Static - . объявляет все переменные внутри процедуры как статические.

  • ИмяПроцедуры/ИмяФункции – это идентификатор, с помощью которого можно вызвать соответствующую процедуру или функцию.

  • Параметры - объявляет список параметров.

  • ИмяТипа - определяет тип возвращаемого функцией значения. Допустимы все стандартные типы, а также типы, определяемые пользователем. Если тип функции не указан, то она будет возвращать значение типа Variant.

  • Операторы – это операторы, составляющие тело функции или процедуры.

  • Выражение - задает возвращаемое функцией значение.

  • Exit Sub/Exit Function - осуществляет досрочный выход из процедуры или соответственно функции.

Синтаксис списка параметров, обозначенный ранее как Параметры, сам по себе является достаточно многовариантным:

[Optional][ВуVal/ВуRef][РагаmАггау]ИмяПараметра[()]

[As ИмяТипа][=ЗначениеПоУмолчанию]

Optional. Это зарезервированное слово (атрибут) должно предшествовать имени того параметра, который является необязательным. После необязательных параметров могут следовать только необязательные же параметры. Нельзя использовать необязательные параметры совместно с массивом параметров (ParamArray).

ByVal. Параметр, имени которого предшествует это слово, будет передаваться в процедуру или функцию по значению. Если параметром окажется внешняя относительно процедуры переменная, то никакие манипуляции с этим параметром в коде процедуры не изменят значения этой внешней переменной.

ByRef. Если имени параметра предшествует это слово, то передача параметра будет производиться по ссылке, т. е. значение внешней переменной, переданной в процедуру в качестве этого параметра, может быть изменено операторами процедуры. Режим передачи параметров по ссылке принят в языке Visual Basic по умолчанию.

ParamArray. Массив параметров. Таковым может быть объявлен только последний параметр в списке, при этом он будет представлять собой переменную типа Variant, содержащую в себе массив. Этим способом можно передавать в процедуру или функцию значительные объемы данных. При использовании массива параметров нельзя применять атрибуты Optional, ByVal и ByRef.

ИмяПараметра. Идентификатор, по которому будет происходить обращение к параметру в коде процедуры или функции.

ИмяТипа. Определяет требуемый тип параметра, допустимы определяемые пользователем, а также все стандартные типы.

ЗначениеПоУмолчанию. Допустимо только для необязательных параметров (т. е. тех, имени которых предшествует зарезервированное слово Optional). Задает значение, которое будет автоматически присвоено параметру в случае его отсутствия. Если параметр отнесен к типу Object, то единственное допустимое значение по умолчанию — Nothing.

Соседние файлы в папке Лаб_2часть