Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Используем в рисовании переменные величины
Если вы нарисовали снеговика, то наверное согласитесь, что для этого вам пришлось основательно потрудиться, хотя сам рисунок получился не слишком богатый, в нем всего-то порядка десяти элементов. Как заставить Visual Basic короткой программой рисовать множество элементов, сплетая их в красивые узоры? Ответ: применять циклы, используя в обращениях к графическим методам вместо чисел переменные величиныи арифметические выражения. Задача: Нарисовать горизонтальный ряд окружностей радиусом 100 на расстоянии 1000 от верхнего края экрана и с такими горизонтальными координатами 500, 800, 1100, 1400, ¼, 2900. Как видим, центры соседних окружностей отстоят друг от друга на 300. Вот примитивный фрагмент, решающий эту задачу: Private Sub Command1_Click() Circle (500, 1000), 100 Circle (800, 1000), 100 Circle (1100, 1000), 100 Circle (1400, 1000), 100 Circle (1700, 1000), 100 Circle (2000, 1000), 100 Circle (2300, 1000), 100 Circle (2600, 1000), 100 Circle (2900, 1000), 100 End Sub При вводе этой программы вас будет раздражать необходимость вводить много раз почти одно и то же. Воспользуйтесь копированием, которое объяснено в Приложении2. Мы видим, что здесь Visual Basic 9 раз выполняет один и тот же метод, причем при каждом следующем обращении первый параметр вырастает на 300. Придумаем для первого параметра переменную величину, например, х. Немного изменим программу: Private Sub Command2_Click() x = 500 Circle (x, 1000), 100: x = x + 300 Circle (x, 1000), 100: x = x + 300 Circle (x, 1000), 100: x = x + 300 Circle (x, 1000), 100: x = x + 300 Circle (x, 1000), 100: x = x + 300 Circle (x, 1000), 100: x = x + 300 Circle (x, 1000), 100: x = x + 300 Circle (x, 1000), 100: x = x + 300 Circle (x, 1000), 100: x = x + 300 End Sub Здесь последний оператор x = x + 300 я написал только для красоты, от него нет никакой пользы, хотя и вреда тоже особого нет. Эта программа рисует абсолютно то же самое, что и предыдущая, но она проще нее, так как не пришлось самим вычислять координаты. Что мы видим? Мы видим, что программа состоит из нескольких одинаковых фрагментов. Это прямое приглашение применить цикл: Dim x As Long Private Sub Command3_Click() x = 500 Do Until x > 2900 Circle (x, 1000), 100 x = x + 300 Loop End Sub Эта программа тоже рисует абсолютно то же самое, что и две предыдущие, но она короче. Здесь я перестраховался и объявил переменную x, как целую. Иначе при многократном прибавлении 300 могло бы оказаться, что результат равен не 2900, а, скажем, 2900.0000067 (Такой же случай я рассматривал в 6.4). А это значит, что последняя окружность не была бы нарисована. Можно было бы перестраховаться по-другому: вместо Do Until x > 2900 написать Do Until x > 2901. Задание 63:. Попробуйте уменьшить расстояние между центрами окружностей, не изменяя их радиуса, нарисовав их плотнее, чтобы они пересекались, еще плотнее, пока они не образуют “трубу”. Задание 64:. Удлините трубу налево и направо до краев формы. Задание 65:. Увеличьте толщину трубы.
Заставим окружности вести себя посложнее. Например, расположим их не по горизонтали, а по диагонали формы в направлении от левого верхнего угла в правый нижний. Для этого организуем еще одну переменную - вертикальную координату у - и заставим ее тоже изменяться одновременно с x. Private Sub Command4_Click() x = 500 y = 200 Do Until x > 2900 Circle (x, y), 100 x = x + 300 y = y + 200 Loop End Sub Если мы захотим менять радиус, то организуем переменную R.
Задание 66: " Очередь трассирующими". Нарисуйте ряд точек по направлению из левого нижнего угла в правый верхний. Задание 67: “Круги на воде или радиоволны”. Нарисуйте пару десятков концентрических окружностей, то есть окружностей разного радиуса, но имеющих общий центр. Задание 68: “Компакт-диск” и " Летающая тарелка ". Если радиус самого маленького “круга на воде” будет порядка 500, а самого большого - во весь экран, и если радиусы соседних окружностей будут различаться на 10-30 твипов, то на экране вы увидите привлекательный “компакт-диск”. Сделайте его золотым (Yellow). Если получилось, то сделайте ему внутренний и наружный ободки другого цвета. А теперь " положите" диск, то есть нарисуйте его не из окружностей, а из эллипсов, сжатых по вертикали. Получится " летающая тарелка". Задание 69: Не трогая x, а меняя только yи R, вы получите " коническую башню". Задание 70: Меняя все три параметра, вы получите трубу, уходящую в бесконечность. Задание 71: Разлинуйте экран в линейку. Задание 72: А теперь в клетку. Задание 73: А теперь в косую линейку. Задание 74: Начертите ряд квадратов.
Чтобы получить интересные и сложные рисунки, нужно использовать богатые возможности Visual Basic: вложенные циклы, ветвление внутри цикла и т.д., например: Задание 75: Нарисуйте шахматную доску. Помощь: Здесь основные трудности возникнут при раскраске клеток в шахматном порядке. У Волчёнкова [См. список литературы] я встретил такую идею, касающуюся того, какие клетки закрашивать, а какие нет: Те клетки, у которых сумма номеров строки и столбца четная - закрашивать, остальные - нет. Задание 76: “Ковер” или " Кольчуга". В задании 62 вы рисовали горизонтальный ряд пересекающихся окружностей. Теперь нарисуйте один под другим много таких рядов. Указания: Здесь вам понадобятся вложенные циклы. Если центры соседних окружностей отстоят друг от друга на одинаковое расстояние как по горизонтали, так и по вертикали, и если удачно подобраны остальные числа, то у вас получится красивый ковер во весь экран с аккуратными краями. Задание 77: Пусть у этого ковра будет вырезан левый нижний угол. Задание 78: ¼ и вдобавок вырезан квадрат посередине.
|