Студопедия

Главная страница Случайная страница

Разделы сайта

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






Зона видимості змінних






Змінні, з якими нам доводилося мати справу досі, оголошувалися словом Dim (скорочення від Dimension, тобто " розмірність"). Воно оголошено в процедурі. При цьому звертатися до такої змінної можна лише з тієї ж процедури. Іншими словами, ви не зможете визначити або задати її значення з іншої процедури, що знаходиться в тій же або іншій формі або в стандартному модулі.

Такі змінні називаються локальними (тобто видимими тільки в цій процедурі). Щоб змінна була видна на рівні модуля, її необхідно оголосити трохи інакше. По-перше, оголошення повинне знаходитися в секції(Declarations) форми або стандартного модуля. По-друге, замість Dim використовується ключове слово Private (хоча Dim також підтримується для забезпечення сумісності з більше ранніми версіями Visual Basic). Оголошена у такий спосіб змінна доступна на рівні модуля, і до неї можна звертатися з будь-якої процедури цього модуля - її зона видимості ширша, ніж у локальних змінних (мал. 7.6).

Projectl.Vbp

Мал. 7.6. Зона видимості змінних.

 

Крім того, змінна може бути доступна на рівні усього застосування. Такі змінні часто називаються відкритими, або глобальними. Вони оголошуються в секції(Declarations), але замість Dim або Private використовується ключі-витті слово Global. Зазвичай в таких випадках в проект включається стандартний модуль з розширенням.BAS, а усі глобальні змінні поміщаються в його секцію оголошень.

Щоб краще зрозуміти, чим відрізняються зони видимості, розглянемо наступний приклад:

1. Створіть новий проект.

2. У вікні Project Wizard виберіть значок Standard EXE.

3. Додайте в проект модуль - для цього слід клацнути правою кнопкою миші у вікні проекту і вибрати з контекстного меню команду Add > Module.

4. У діалоговому вікні Add Module виберіть значок Module. Створений модуль Module1 відкривається у вікні програми.

5. У вікні програми додайте наступний фрагмент:

 

Option Explicit

Global UserID As String

Global ACL As Integer

 

6. Додайте в модуль Module1 наступну процедуру:

 

Public Sub InitApp()

UserID = " Джо"

ACL = 255

End Sub

 

Перш ніж йти далі, давайте уважніше розглянемо два останні кроки. Оголошення змінних UserID і ACL c ключовим словом Global дозволяє звернутися до них з будь-якої процедури або модуля цього застосування. Оскільки функція InitApp знаходиться усередині модуля і супроводжується ключовим словом Public, вона є глобальною і може бути викликана з будь-якої процедури додатка. У ній відбувається ініціалізація додатка - змінній UserID привласнюється значення " Джо", а змінній ACL - 255. Тепер давайте створимо форму для реєстрації користувача:

1. Двічі клацніть на формі Form1 у вікні проекту, щоб активізувати її в конструкторі форм.

2. У вікні властивостей задайте властивості Name форми Form1 значення frmLogon, а властивості Caption - значення Реєстрація користувача.

3. Створіть на формі напис. Задайте властивості Name значення lblUserID, а властивості Caption - Ім'я користувача:.

4. Створіть під lblUserID ще один напис, задайте властивості Name значення

lblPassword, а властивості Caption - значення Пароль:.

5. Додайте текстове поле праворуч від першого напису і задайте його властивості Name значення txtUserID.

6. Додайте текстове поле праворуч від другого напису. У вікні властивостей задайте його властивості Name значення txtPassword, а властивості PasswordChar - символ " зірочка" (*).

7. Розмістите кнопку в середині нижньої частини форми. Задайте її властивості Name значення cmdLogon, а властивості Caption - значення & Реєстрація.

Після того, як на формі з'являться усі перераховані елементи, вона повинна виглядати приблизно так, як показано на мал. 7.7.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.