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

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

Переменные диалога (реквизиты формы)





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

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

У переменных диалога есть другие названия - реквизиты формы и идентификаторы элементов диалога.

Например:

В диалоге форма, создадим форму см. рис. 1.20

 

Рис. 1.20. Диалог с числовым полем

Напишем в модуле созданной формы код, меняющий значения переменной диалога дЧ.

 

перем а; // Переменная модуля

 

процедура Выполнить() // Связана с кнопкой Пуск

// Встроенное процедура Предупреждение выводит текст

Предупреждение("3начение числового поля будет увеличено в 2 раза.");

дЧ = дЧ * а; // Изменяем значение переменной диалога дЧ

конецПроцедуры // Выполнить

 

процедура ПриОткрытии() //Предопределенная процедура, выполняется при открытии диалога

ОчиститьОкноСообщений(); // Очищаем окно сообщений

а = 2.0; // Начальное значение переменной модуля а

дЧ = 5.23; // Начальное значение переменной диалога дЧ

конецПроцедуры // ПриОткрытии

 

Результат выполнения:

 

а б

Рис. 1.24. Поле дЧ диалога:

а - после открытия диалога; б - после двукратного нажатия на кнопку Пуск

Переменная диалога дЧ станет недоступной во всех программных компонентах модуля, если в модуле обработки объявить переменную модуля дЧ.

Например:

перем а; // Переменная модуля

перем дЧ; // Переменная модуля дЧ, переменная диалога дЧ станет недоступной

 

процедура Выполнить() // Связана с кнопкой Пуск обработки Проба

// Встроенное процедура Предупреждение выводит текст,

// переданный процедуре в качестве параметра, в окно с кнопкой ОК

Предупреждение("3начение числового поля будет увеличено в 2 раза.");

дЧ = дЧ * а; // Результат после загрузки и двух нажатий

конецПроцедуры // на кнопку Пуск см. на рис. 1.24

процедура ПриОткрытии()

ОчиститьОкноСообщений(); // Очищаем окно сообщений

а = 2.0; // Начальное значение переменной модуля а

дЧ = 5.23; // Начальное значение переменной диалога дЧ

конецПроцедуры // ПриОткрытии

Если же такое объявление сделать в каком-нибудь программном компоненте модуля, например в процедуре Выполнить, то переменная диалога дЧ станет недоступной в этом программном компоненте. В таких случаях говорят: "Локальная переменная закрывает глобальную переменную". Таким же образом можно закрыть в процедуре или функции модуля его любую переменную. Каких-либо предупреждений о закрытии переменных компилятором не выдается.

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


 







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




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


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


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


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

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

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

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

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