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

Переменные вместо чисел

Отладка программы. Окна отладки. Режимы отладки. | Глава 8. Типичные маленькие программы | Вложение циклов в разветвления и наоборот | Объекты. Их свойства, их события, их методы | Первый способ - Загрузка в Visual Basic готовых изображений | Цвет в Visual Basic | Способ - Рисуем при помощи графических методов | Использование случайных величинпри рисовании | Зачем нужны процедуры пользователя | Рисуем_мой_значок 200, 400, RGB(100, 250, 150) |


Читайте также:
  1. Double x1, mas[5], p1; //здесь объявлены вещественные переменные x1, p1
  2. He забывайте употреблять настоящее время вместо будущего в придаточных предложениях времени и условия после союзов if, when, as soon as, before, after, till (until).
  3. I. Вставьте вместо точек глагол werden. Переведите предложения.
  4. Internal variables (переменные) of consumer behavior
  5. VBA4. Сортировка чисел в столбце по возрастанию или убыванию
  6. VBA7. Сортировка чисел в столбце по возрастанию или убыванию с созданием формы и панели инструментов с кнопкой
  7. Автоматические прачечные вместо индивидуальных стиральных машин

Наша цель - процедуры с параметрами. Данный раздел - подготовка к взятию этой крепости.

Вернемся к задаче из 10.1 о фотоальбоме со значками. Вспомним, что мы написали процедуру пользователя для рисования значка. Вот она:

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

Picture1.Line (100, 100)-(300, 300), vbBlue, B

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

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

End Sub

Значок рисуется в левом верхнем углу фото с отступом в 100 твипов как от левого края фото, так и от верхнего. Предположим, вам разонравился такой отступ и вы решили сделать его поменьше, скажем, 50. Вам нужно в программе в 6 местах поменять число 100 на 50. Вот то-то и неудобно, что в 6, а не в одном. Слишком много труда. В нашей программе это, конечно, пустяк, а вот в больших и сложных программах одна и та же величина может встречаться сотни раз, и чтобы ее изменить, придется вносить сотни исправлений.

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

Dim Otstup As Integer

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

Otstup = 100

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

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, B

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, B

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: Помогите вашему другу менять при помощи переменных отступ, размер и цвет его значка.

Константы

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

a = 1 + 0.25

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

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

Form1.BackColor = 15767511

If a > 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, B

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

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

End Sub

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

Const a = 5

Private Sub Command3_Click()

a = a + 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, Пи и т.п., обозначающие эти величины. Не думаю, что в будущем эта путаница принесет нам какой-нибудь вред.

Кроме перечисленных выше констант существует еще большое число так называемых внутренних констант Visual Basic. Объявлять их не надо, ими можно сразу пользоваться, если знать их имена и смысл. Например, такими константами являются названия цветов - vbRed, vbBlack и т.п. Каждая из таких констант имеет конкретное численное значение (например, vbRed=255), но названия запоминаются легче, чем числа. Имена, смысл и значение внутренних констант вы найдете в Object Browser.


Дата добавления: 2015-11-16; просмотров: 58 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Операторы Stop, End и Exit Sub| Процедуры с параметрами

mybiblioteka.su - 2015-2024 год. (0.008 сек.)