Выбрать главу

Посмотрим, как нам помогут переменные величины. Придумаем переменную величину с именем Otstup. Теперь напишем вариант той же процедуры, но с использованием переменной величины:

Dim Otstup As Integer

Private Sub Рисуем_мой_значок()

    Otstup = 100

    Picture1.Line (Otstup, Otstup)-(300, 300), vbBlue, В

    Picture1.Line (Otstup, Otstup)-(300, 300), vbBlue

    Picture1.Line (Otstup, 300)-(300, Otstup), vbBlue

End Sub

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

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

Будем дальше улучшать нашу процедуру. Теперь вы легко можете управлять отступом, но вот беда — правый нижний угол значка остается всегда в одном и том же месте и поэтому размер значка уменьшается с увеличением отступа, а при отступе = 300 значок вообще превращается в точку. Вам хочется так же легко и удобно управлять размером значка, как и отступом. Вы замечаете, что размер квадратного значка равен разнице координат в скобках операторов Line. Вы придумываете переменную с именем Razmer и переписываете программу:

Dim Otstup As Integer

Dim Razmer As Integer

Private Sub Рисуем_мой_значок()

    Otstup = 100 Razmer = 200

    Picture1.Line (Otstup, Otstup)-(Otstup + Razmer, Otstup + Razmer), vbBlue, В

    Picture1.Line (Otstup, Otstup)-(Otstup + Razmer, Otstup + Razmer), vbBlue

    Picture1.Line (Otstup, Otstup + Razmer)-(Otstup + Razmer, Otstup), vbBlue

End Sub

Последнее, что вам хочется, это управлять цветом. Нет проблем:

Dim Otstup As Integer

Dim Razmer As Integer

Dim Tsvet As Long

Private Sub Рисуем_мой_значок()

    Otstup = 100 Razmer = 200 Tsvet = vbBlue

    Picture1.Line (Otstup, Otstup)-(Otstup + Razmer, Otstup + Razmer), Tsvet, В

    Picture1.Line (Otstup, Otstup)-(Otstup + Razmer, Otstup + Razmer), Tsvet

    Picture1.Line (Otstup, Otstup + Razmer)-(Otstup + Razmer, Otstup), Tsvet

End Sub

Заметьте, что Tsvet я объявил, как Long, а то 16 миллионов в Integer не уместятся.

Задание 90: Помогите вашему другу менять при помощи переменных отступ, размер и цвет его значка.

Константы

Константами называются те конкретные значения величин, которые мы видим в программе. Например, во фрагменте

а = 1 + 0.25

b = "Амазонка"

Debug.Print "Волга", 10

Form1.BackColor = 15767511

If а > 3 Then Cls

константы это 1 0.25 "Амазонка" "Волга" 10 15767511 3.

Если какая-нибудь константа встречается в программе несколько раз, то удобно, как я уже говорил в предыдущем разделе, придумать ей имя и обозначать этим именем.

Вернемся к примеру из предыдущего раздела. Там мы объявили переменную Otstup и везде в процедуре стали писать вместо константы 100 имя этой переменной. Программист имеет право вместо оператора объявления

Dim Otstup As Integer

написать другой оператор объявления:

Const Otstup = 100

Тогда процедура изменит свой вид:

Const Otstup = 100

Private Sub Рисуем_мой_значок()

    Picture1.Line (Otstup, Otstup)-(300, 300), vbBlue, В

    Picture1.Line (Otstup, Otstup)-(300, 300), vbBlue

    Picture1.Line (Otstup, 300)-(300, Otstup), vbBlue

End Sub

В чем разница? В первом случае величина Otstup — переменная величина. Во втором случае величина Otstup объявлена константой, а это значит, что ей запрещено менять свое значение 100, присвоенное ей при объявлении. При попытке изменить значение константы Visual Basic выдаст сообщение об ошибке. Например, ошибкой завершится выполнение такой программы:

Const а = 5

    Private Sub Command3_Click()

    а = а + 2

End Sub

Хорошо это или плохо? Это плохо там, где величина по смыслу задачи должна менять свое значение, и хорошо там, где не должна. Например, если в программе

Const Пи = 3.14

Private Sub Command4_Click()

   r = 50

   Длина_окружн = 2 * Пи * r

   Площадь_круга = Пи * r л 2

End Sub

мы по небрежности где-нибудь напишем оператор типа Пи = 2.87, то Visual Basic выдаст сообщение об ошибке и мы будем этому рады, так как число Пи — очень известная константа, равная 3.14, и никто не имеет права менять ее значение.

Таким образом, при помощи объявления констант мы повышаем надежность программирования.

Обратите внимание, что термином "константа" мы обозначаем два близких понятия: с одной стороны число 100, строку "Волга" и т. п., а с другой стороны имена Otstup, Пи и т. п., обозначающие эти величины. Не думаю, что в будущем эта путаница принесет нам какой-нибудь вред.