Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть_1.doc
Скачиваний:
23
Добавлен:
20.04.2015
Размер:
462.85 Кб
Скачать

4.3.3. Локальные переменные формы

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

Пример 4.7. В этом примере приведены некоторые операции с использованием указанной формы обмена информацией. Подпрограммы Sub a () и Sub d() производят арифметические операции с данными, которые отсутствуют в списках этих подпрограмм.

Dim c As Integer: Dim d As Integer: Dim e As Integer: Dim f As Integer

Dim ra As Integer: Dim rb As Integer

'Локальные переменные формы

Private Sub Command1_Click()

'Пример 4.7.

'Главная программа

Cls

Open "F:\Tout_le_VB6\My_files\out\out4_7.txt" For Output As #12

c = 1: d = 3: e = 2: f = 5

Print #12, "c="; c, "d="; d, "e="; e, "f="; f

a ’ Это вызов подпрограммы

Print #12, "sub a: ra="; ra; "e="; e

b ‘ А это вызов другой подпрограммы

Print #12, "sub b: rb="; rb; "c="; c

Print " Всё хорошо!"

End Sub

Sub a()

ra = c + d

e = e + f

End Sub

Sub b()

rb = e * f

c = c * d

End Sub

Обратите внимание на способ передачи значений переменных. Списки отсутствуют. Это, конечно, не очень красиво, но зато показан феномен обмена информацией, когда описание переменных находится вне текста главной программы и они называются при этом локальными переменными формы.

5. Операторы и функции, работающие с символьными данными

5.1. Ввод символов с целью управления действиями

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

Пример 5.1.Запрос и ввод пароля «можно» из пяти символов. Знаки <> («меньше» и «больше») соответствуют смыслу «не равно».

Private Sub Command1_Click()

'Пример 5.1. Запрос и ввод пароля «можно» из пяти символов.

'Знаки <> ("меньше" и "больше") соответствуют символу "не равно".

Print "Введите пароль!"

Do

Par$ = InputBox("???????")

Loop While Par$ <> "можно"

Print "Продолжайте"

End Sub

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

Пример 5.2.Пауза до нажатия клавиши.

Private Sub Command1_Click()

'Пример 5.2. Пауза до нажатия клавиши

P$ = InputBox("Для продолжения нажмите любую клавишу")

Print "Спасибо! Программа пошла."

End Sub

Пример 5.3.Управление выходом из цикла (например, для завершения программы). Для выхода из цикла выбрана клавиша «s». Значение нажатой клавиши присваивается переменнойa$.

Private Sub Command1_Click()

'Пример 5.3. Управление выходом из цикла (например, для завершения программы)

'Для выхода из цикла выбрана клавиша "s".

Do

'Тело цикла (то есть Ваша программа)

a$ = InputBox(" ")

If a$ = "s" Then Exit Do

Loop

Print "Работа программы закончена"

End Sub

Private Sub Command2_Click()

'Другой вариант

Do

' Тело цикла (то есть Ваша программа)

a$ = InputBox(" ")

Loop While a$ <> "s"

Print " Работа программы закончена "

End Sub

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