Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Переменные вместо чисел
Наша цель - процедуры с параметрами. Данный раздел - подготовка к взятию этой крепости. Вернемся к задаче из 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: Помогите вашему другу менять при помощи переменных отступ, размер и цвет его значка.
|