Студопедия — Объявление переменных
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Объявление переменных






Для указания типа переменной используются операторы объявления с, например, следующим синтаксисом:

Dim variablename [ As type ]

Здесь variablename — имя объявляемой переменной, type — тип данных. Переменные, объявленные с помощью оператора Dim внутри процедуры, существуют только во время выполнения этой процедуры. Такие переменные называются локальными. В различных процедурах можно использовать локальные переменные с одинаковыми именами. Примеры объявления переменных:

Dim stName1 As String

Dim inName2, inName3 As Integer

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

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

Function ToMorrow()

ToDay = Now()

ToMorrow = ToDay + 1

End Function

Этот способ использования переменных без предварительного объявления очень прост, но потенциально опасен тем, что вы можете делать ошибки, которые трудно находить. Дело в том, что при использовании переменных без предварительного объявления вы не пользуетесь средствами контроля редактора Visual Basic. Если вы объявили переменную и в дальнейшем в каком-либо операторе изменили (по ошибке) регистр какого-нибудь символа, редактор автоматически изменит написание переменной на объявленое. При этом уже нет необходимости вам постоянно переключаться с регистра на регистр. Можно работать с одним регистром. Редактор сам будет изменять регистры в соответствии с объявленным написанием переменной.

Если же вы не объявите переменную и постоянно при ее написании будете произвольно менять регистры, редактор будет менять написание всех вхождений переменной в соответствии с последним написанием. Если это вас утраивает — нет проблем.

Explicit-объявление

Работая в редакторе Visual Basic, вы можете задать такой режим, при котором у вас не будет возможности использовать ранее необъявленные переменные. Таким образом, если вы случайно введете имя переменной с ошибкой, это будет воспринято системой, как попытка использовать ранее небъявленную переменную, и при компиляции появится сообщение об ошибке (см. рис. 5.6).

Рис.5. 6

При наличии объявленияOption Explicit попытка использовать ранее небъявленную переменную приводит к сообщению об ошибке.

В окне редактора, приведенном на рис. 5.6, самая первая строка содержит оператор Option Explicit. Именно этот оператор является сигналом для проверки вашего кода на наличие имен переменных, которые вы забыли объявить. Вы можете вставить в модуль этот оператор самостоятельно, просто вводя его с клавиатуры, как обычный текст. Но в этом случае вам нужно будет выполнять эту операцию для каждого нового модуля. Если вы хотите, чтобы оператор Option Explicit автоматически вставлялся в каждый ваш модуль, выпоните следующее:

· Из меню Tools выберите Options.

· Щелкните на ярлычке вкладки Editor.

· Установите флажок Require Variable Declaration.

Для объявления переменных, кроме оператора Dim, можно использовать также операторы Private, Public и Static. Например:

Private inI As Integer

Public cuSell As Currency

Static stMyName As String

Private inII As Integer, doSq As Double

Область действия переменной

Область действия (scope) переменной — одно из наиболее важных понятий в программировании. Переменная может быть доступна не для всего кода приложения (не для всех модулей), не для всех процедур одного и того же модуля. Область действия переменной определяется способом ее объявления.

В зависимости от того, как объявлена переменная, она может иметь область процедурного (локальная) или модульного уровня.

Область действия Закрытые (Private) Открытые (Public)
Процедурного уровня (Procedure-level) Переменные доступны только для процедуры, в которой они объявлены. Внутри процедуры нельзя объявлять Public-переменные.
Модульного уровня (Module-level) Переменные доступны только для модуля, в котором они объявлены. Переменные доступны для всех модулей.

Переменные процедурного уровня «распознаются» только в процедуре, в которой они объявляются. Они также называются локальными. Такие переменные объявляются при помощи ключевых слов Dim и Static. Например:

Dim intNunber As Integer

Static intPrt As Integer

Значение локальной переменной, объявленной с помощью Static, сохраняется все время работы приложения. С другой стороны, локальная переменная, объявленная с помощью Dim, существует только во время выполнения процедуры, в которой объявлена переменная. Локальные переменные необходимы для всяких временных вычислений или удобного представления длинных арифметических выражений. Как только процедура с локальными переменными выполнится, память будет освобождена от локальных переменных.

По умолчанию переменная модульного уровня доступна всем процедурам модуля. Переменные модульного уровня объявляются с использованием ключевого слова Private в разделе Declarations в верхней части (в начале текста кода) модуля. Например:

Private strTemp As String

Private intTemp As Integer

На модульном уровне ключевые слова Private и Dim имеют одинаковое действие, но Private предпочтительней, поскольку, контрастируя со словом Public, делает код более понятным.

Чтобы сделать переменную доступной для всех модулей, используйте при объвлении переменной ключевое слово Public. Значения таких переменных доступны всем процедурам приложения. Как и переменные модульного уровня, public-переменные объявляются в секции Declarations в верхней части модуля. Нельзя объявлять public-переменные в коде процедуры. Например:

Public intTemp As Integer

Имена переменных, объявленных с помощью ключевого слова Public в различных модулях, могут совпадать. В этом случае для правильной ссылки на переменную следует использовать не только ее имя, но и имя модуля. Например, если public-переменная strFirstName типа String объявлена как в модуле ModuleStart, так и в модуле формы FormMain, то для правильной ссылки на эти (их теперь — две) переменные следует использовать выражения ModuleStart.strFirstName и FormMain.strFirstName.







Дата добавления: 2015-08-29; просмотров: 525. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...

Упражнение Джеффа. Это список вопросов или утверждений, отвечая на которые участник может раскрыть свой внутренний мир перед другими участниками и узнать о других участниках больше...

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия