Студопедия

Главная страница Случайная страница

Разделы сайта

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






  • Рисуем_мой_значок 200, 400, RGB(100, 250, 150)






    Picture1.Print, " 28.07.2001"

    End Sub

    Обратите внимание, что мы убрали за ненадобностью фрагмент объявлений:

    Dim Otstup As Integer

    Dim Razmer As Integer

    Dim Tsvet As Long

    так как эти переменные уже объявлены в заголовке процедуры.

    Наткнувшись в процессе выполнения программы на обращение к процедуре (Рисуем_мой_значок 100, 200, vbBlue), Visual Basic присваивает параметрам, приведенным в заголовке процедуры (Otstup, Razmer, Tsvet), указанные значения, а затем выполняет тело процедуры.

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

    Рисуем_мой_значок 100, 200, vbBlue

    можно было написать

    a=100

    Рисуем_мой_значок a, 2 * a, vbBlue

    Типы параметров

    Параметры могут иметь не только числовой, но и строковый и многие другие типы. Пример:

    Private Sub Печатаем_3_раза(Что_нибудь As String)

    Print Что_нибудь

    Print Что_нибудь

    Print Что_нибудь

    End Sub

     

    Private Sub Command1_Click()

    Печатаем_3_раза " Кто там? - Это почтальон Печкин! "

    Печатаем_3_раза " Дядя Федор"

    End Sub

    Здесь вы видите процедуру пользователя Печатаем_3_раза и ее параметр - строковую переменную с именем Что_нибудь. При нажатии на кнопку Command1 программа начинает работать и печатает следующий текст:

    Кто там? - Это почтальон Печкин!

    Кто там? - Это почтальон Печкин!

    Кто там? - Это почтальон Печкин!

    Дядя Федор

    Дядя Федор

    Дядя Федор

     

    Вот другой пример. Для начала отметим, что величины, которые указываются в скобках функций (например, в Round(5.82716, 3) или LoadPicture(" c: \temp\Rockies.bmp")), тоже называются параметрами, хотя их называют также аргументами. Здесь в функции LoadPicture адрес файла взят в кавычки, значит этот параметр является строкой. Можно написать такую программу, которая по нажатии на кнопку Command1 показывает сразу два фото:

     

    Private Sub Показываем_два_фото (Фото_1 As String, Фото_2 As String)

    Picture1.Picture = LoadPicture (Фото_1)

    Picture2.Picture = LoadPicture (Фото_2)

    End Sub

     

    Private Sub Command1_Click()

    Показываем_два_фото " c: \temp\Rockies.bmp", " c: \temp\Porthole.bmp"

    End Sub

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

    Дальше о процедурах вы прочтете в Глава 17.

     

    Задание 91: В задании 86 из 10.1 вы написали процедуру пользователя, которая перед показом очередной фотографии воспроизводит один и тот же музыкальный звук. Пусть теперь перед каждой фотографией будет свой звук. Для этого напишите процедуру с параметром.

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

    Задание 93: Среди графических методов Visual Basic нет методов " крестик" и " треугольник". Вы можете возместить этот недостаток, написав две соответствующие процедуры с тремя параметрами: координата_х, координата_у, размер.

    Задание 94: Представьте себе куб, собранный из 16777216 кубиков - по числу цветов в Visual Basic. Его высота - 256 кубиков, ширина и толщина - тоже по 256 кубиков. Каждый кубик покрашен в свой цвет. Цвета не повторяются. Систему раскраски придумать легко. Например, слева направо растет от 0 до 255 красная составляющая в цвете кубиков, сверху вниз - зеленая, от нас вдаль - синяя. Так что самый левый верхний ближний кубик получается абсолютно черным, а самый правый нижний дальний кубик - абсолютно белым. Сразу все кубики видеть мы, конечно, не можем, но мы можем делать срез куба в любом месте параллельно любой из его граней, в результате чего на срезе будем видеть квадрат, состоящий из 256*256 разноцветных квадратиков. Вот эту задачу среза я бы и хотел вам предложить. Программа предлагает пользователю выбрать один из трех основных цветов (это удобно сделать через меню) и его насыщенность (число от 0 до 255). Этим определяется место среза. Затем программа чертит на форме этот разноцветный срез. Конечно, квадратики получатся очень маленькими, но это ничего.

    Указание: Используйте процедуру с двумя параметрами: выбранный пользователем цвет (один из трех) и его насыщенность.

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

     

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.