Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по VBasic.doc
Скачиваний:
11
Добавлен:
17.09.2019
Размер:
1.16 Mб
Скачать

Статические переменные

Вспомним, что такое локальные и глобальные переменные.

Оператор объявляющий переменную, сообщает VB, что будет храниться в этой переменной, и где эту переменную можно использовать. Область, где используется переменная, называется областью видимости переменной. Если переменная доступна, то она существует, но не наоборот. Переменная может существовать в памяти и быть доступной для некоторых частей программного кода и при этом быть недоступной, «невидимой» для других.

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

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

Существует еще один вид переменных, часто применяемых в программировании.

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

Static k As Integer

Статические переменные можно применять для подсчета, сколько раз произошло данное событие.

Пример: Private Sub cmd1_Click()

Static n As Integer

n=n+1

End Sub

Переменная n подсчитывает число нажатий на кнопку cmd1.

Очень часто статические переменные применяют в элементах управления – таймерах.

Таймеры

Элемент управления таймер (timer) – это объект, способный инициировать события через регулярные промежутки времени. Таймер позволяет запускать или завершать различные процессы приложения в определенные моменты времени.

Таймер программируют присвоением определенных значений (в миллисекундах) свойству interval. Интервал (в мс) между двумя событиями может принимать любые значения в диапазоне от 0 до 65535. Интервал равный 0 отключает таймер.

Когда доступ к таймеру разрешен ( свойство Enabled), событие Timer генерируется через равные промежутки времени. Это время рассчитывается по формуле Interval=1000/n, где n – сколько раз в секунду возникает событие Timer. Например, когда Interval = 1000, событие возникает раз в секунду, когда Interval=200 – таймер срабатывает 5 раз в секунду. Сам таймер во время работы проекта всегда невидим.

Основное и единственное событие этого элемента управления – Timer, которое будет вызвано по истечении временного интервала.

В проекте VB можно использовать сразу несколько таймеров, но не более 31. Таймеры применяют для самых разных действий (определение временных интервалов, анимация, циклические процессы и пр.). Проекты с таймером «оживают».

Задание1 На форме установите таймер, текстовое поле, кнопку Старт и кнопку Стоп, которые запускают и устанавливают таймер. В текстовом окне отражается время с момента запуска (вернее сколько раз происходило событие Timer). Используйте для этого статическую переменную. Потом, меняя свойство Interval, понаблюдайте за изменениями в программе.

Задание2. На форме картинка (машинка) и две кнопки «вперед» и «назад». При нажатии на кнопку машинка движется в заданном направлении. Меняя свойство Интервал, Вы можете изменить скорость машинки. Попробуйте с помощью статической переменной, сделать так, чтобы машинка разгонялась. (В этой переменной будет храниться шаг машинки, который при каждом событии Timer будет увеличиваться).