LoveRead.info » Книги » Разная литература » Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория»

Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория»

Книгу Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория» читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

124 0 18:09, 02-02-2024

Книга Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория» читать онлайн бесплатно без регистрации

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

    1 ... 164 165 166 167 168 169 170 171 172 ... 192
    Перейти на страницу:
    от запуска к запуску набор значений случайной величины менялся (а значит и созвездия), употребите разик до использования функции Rnd процедуру Randomize.

    Задание 79: "Звезды в окне". Звездное небо в пределах прямоугольника.

    Задание 80: "Дождь в луже". Заполните форму окружностями или эллипсами радиуса 200 в случайных местах.

    Задание 81: "Мыльные пузыри". То же самое случайных радиусов и цветов.

    Задание 82: "Сноп света в глаза". То есть пучок лучей, выходящих из одной точки. Реализуется множеством случайных разноцветных отрезков прямых, причем одна точка всех отрезков не случайна, а находится в центре формы.

    Задание 83: "Стог сена". Множество случайных разноцветных отрезков прямых преимущественно желтоватых оттенков, причем одна точка любого отрезка находится в случайной точке левой трети стога, другая — в случайной точке правой. Размер стога — 6000 на 6000. Используйте функцию RGB со случайными аргументами.

    Задание 84: "Атака абстракциониста". На экране бесконечно рисуется большое количество случайных разноцветных залитых прямоугольников или эллипсов.

    Совет: Если ваш компьютер быстрый, то прямоугольники или эллипсы будут сменять друг друга с огромной скоростью, что может вам не понравиться. Чтобы замедлить работу компьютера, обычно используют таймер. Но поскольку вы с ним не знакомы, вставьте для замедления внутрь цикла оператор, который, ничего не изменяя на экране, будет выполняться достаточно долго. Обычно для этих целей используют "пустой цикл":

    For j = 1 То 1000000: Next

    Пока компьютер досчитает до миллиона, пройдет некая значительная доля секунды.

    Задание 85: "Летающие тарелки в космосе". Они получатся, если по нажатии одной кнопки вы будете добавлять на форму очередную порцию звезд, а по нажатии другой — очередную летающую тарелку из задачи 68, но случайного размера и в случайном месте, что нелегко. Подсказка без пояснений: При рисовании тарелки не используйте Rnd внутри цикла, все случайные значения присвойте переменным выше цикла.

    ПРОЦЕДУРЫ

    До сих пор мы с вами имели дело только с процедурами, задающими реакцию компьютера на те или иные события. Это процедуры типа "Что делать, если…". Настала пора познакомить вас с другими процедурами — процедурами типа "Как". Будем называть их процедурами пользователя. В этой главе я на одном примере проведу вас от процедур пользователя к процедурам с параметрами.

    Зачем нужны процедуры пользователя

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

    Задача легкая, мы ее уже решали в 0. Вот программа для 4 фотографий:

    Private Sub Command1_Click()

        Picture1.Picture = LoadPicture("с: tempRockies.bmp")

        Picture1.Print, "21.07.2001"

    End Sub

    Private Sub Command2_Click()

        Picture1.Picture = LoadPicture("c: tempPorthole.bmp")

        Picture1.Print, "28.07.2001"

    End Sub

    Private Sub Command3_Click()

        Picture1.Picture = LoadPicture("c: tempBalloons.bmp")

        Picture1.Print, "12.08.2001"

    End Sub

    Private Sub Command4_Click()

        Picture1.Picture = LoadPicture("c: tempGuitar.bmp")

        Picture1.Print, "20.07.2001"

    End Sub

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

    Усложним задачу: Некоторые из фотографий сняли вы, некоторые — ваш друг. Вы хотите, чтобы в знак этого на ваших фото в левом верхнем углу появлялся один значок, а на фото вашего друга другой. Ваш любимый значок такой — >

    а у вашего друга такой — >

    Пусть они и появляются.

    Давайте значки будем рисовать при помощи методов. Ваша программа станет такой:

    Private Sub Cornmandl_Click ()

        Picture1.Picture = LoadPicture("c: tempRockies.bmp")

        'Это ваше фото, рисуем значок:

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

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

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

        Picture1.Print, "21.07.2001"

    End Sub

    Private Sub Command2_Click()

        Picture1.Picture = LoadPicture("c: tempPorthole.bmp")

        'Это ваше фото, рисуем значок:

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

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

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

        Picture1.Print, "28.07.2001"

    End Sub

    Private Sub Command3_Click()

        Picture1.Picture = LoadPicture("c: tempBalloons.bmp")

        'Это фото вашего друга, рисуем значок:

        Picture1.Circle (200, 200), 20

        Picture1.Circle (200, 200), 70

        Picture1.Circle (200, 200), 120

        Picture1.Circle (200, 200), 170

        Picture1.Print, "12.08.2001"

    End Sub

    Private Sub Command4_Click()

        Picture1.Picture = LoadPicture("c: tempGuitar.bmp")

        'Это фото вашего друга, рисуем значок:

        Picture1.Circle (200, 200), 20

        Picture1.Circle (200, 200), 70

        Picture1.Circle (200, 200), 120

        Picture1.Circle (200, 200), 170

        Picture1.Print, "20.07.2001"

    End Sub

    Программа работает нормально, но невооруженным глазом виден ее существенный недостаток — резко возросший объем. Недостаток этот особенно будет заметен, когда число фото вырастет до десятка. Это тем более обидно, что в программе есть два повторяющихся фрагмента. Это фрагмент

    'Это ваше фото, рисуем значок:

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

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

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

    и фрагмент

    'Это фото вашего друга, рисуем значок:

    Picture1.Circle (200, 200), 20

    Picture1.Circle (200, 200), 70

    Picture1.Circle (200, 200), 120

    Picture1.Circle (200, 200), 170

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

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

    Рисуем_мой_значок

    и

    Рисуем_значок_друга

    Затем они вписывают в программу специальную процедуру для каждого фрагмента с придуманным только-что именем, после чего имеют право во всей программе вместо фрагмента писать его имя. Чтобы вам было понятно, посмотрите на получившуюся программу:

    Private Sub Рисуем_мой_значок() 'Это одна специальная процедура

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

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

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

    End Sub

    Private Sub Рисуем_значок_друга() 'Это другая специальная процедура

        Picture1.Circle (200, 200), 20

        Picture1.Circle (200, 200), 70

        Picture1.Circle (200, 200), 120

       

    1 ... 164 165 166 167 168 169 170 171 172 ... 192
    Перейти на страницу:
    1. Жалоба
    Отзывы - 0

    Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


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

    • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
    • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
    • 3. Просьба отказаться от нецензурной лексики.
    • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

    Надеемся на Ваше понимание и благоразумие. С уважением, администратор LoveRead.info.


    Установить VPN и читай слушай бесплатно

    Новые отзывы

    1. Валентина Валентина04 июль 13:25 Большое спасибо за интересную тему.  Сюжет заманчиввй,интересный. Жду продолжения ... Лекарь Фамильяров. Том 7 - Александр Лиманский
    2. Наталья По Наталья По01 июль 10:12 Ужасный перевод:(... Аркадия - Эрин Дум
    3. Вика Вика29 июнь 21:56 Какая хрень с первых строк.  У ребенка в 14 месяце не может быть черепно мозговой травмы при падании с дивана ... Вернуть семью любой ценой - Чарли Ви
    Все комметарии
    Новинки бесплатной онлайн библиотеки