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

По области видимости различают:

  • Локальные переменные. Определяются в пределах конкретной процедуры с помощью оператора Dim, и никак не связанны с одноименными переменными вне этой процедуры.
  • Локальные переменные уровня модуля. Определяются в модуле до кода процедур с помощью оператора Dim. Они доступны во всех процедурах этого модуля кроме случая, когда в процедуре определена локальная переменная с тем же именем.
  • Глобальные переменные уровня приложения. Определяются в модуле до кода процедур с помощью оператора Global. Они доступны во всех модулях программы. Глобальные переменные позволяют также обмениваться данными между работающими программами через механизмы DDE и OLE.

Использование переменных с разным уровнем видимости

Главный модуль Test2.mb теперь имеет вид:

Include "A.def" Include "B.def" Include "C.def" Declare Sub Main Define CLS Print Chr$(12) Sub Main CLS call A1 call A2 call B1 call B2 call C1 call C2 Print AA Print BB end sub

Модуль A:

Include "A.def" 'локальная переменная уровня модуля dim sA1 as string Sub A1 sA1="модуль А: процедура А1" print sA1 end sub Sub A2 'локальная переменная уровня процедуры dim sA2 as string sA2="модуль А: процедура А2" print sA2 AA="глобальная переменная AA" end sub

Модуль B:

Include "B.def" Sub B1 print "модуль B: процедура B1" end sub Sub B2 print "модуль B: процедура B2" BB="глобальная переменная BB" end sub

Модуль C:

Include "C.def" Sub C1 print "модуль C: процедура C1" end sub Sub C2 print "модуль C: процедура C2" end sub

Файл A.def

Declare Sub A1 Declare Sub A2 Global AA as string

Файл B.def

Declare Sub B1 Declare Sub B2 Global BB as string

Файл C.def

Declare Sub C1 Declare Sub C2

После компиляции модулей и сборки проекта получим исполняемый файл Test2.mbx.

Результат работы этой программы показан на рис.

Рис. 1. Результат выполнения программы


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: