Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для zink0000
258 / 107 / 26
Регистрация: 15.03.2012
Сообщений: 353
Записей в блоге: 35

Узоры

21.07.2016, 14:15. Показов 1994. Ответов 12

Студворк — интернет-сервис помощи студентам
В те античные времена, когда дискеты были большими (ага, восемь дюймов), а "винчестеры" очень маленькими (у меня так вообще его не было) работал я на компьютере ЕС-1840. Машина была верхом совершенства! Ещё бы, ведь у неё, в отличие от используемой мной до этого Наири-К, даже был монитор!

Программы писал на языке... то ли A BASIC, то ли BASIC A, был там на дискете такой файл BASICA.EXE, вот его и запускал. До последнего времени думал, что всё тогда написанное пропало. Но нет. Кое-что уцелело. Нашёл тут лазерный диск на который лет двадцать назад записал эти программы с пяти-дюймоых дискет.

Так что теперь буду переводить эти раритеты на Visual Basic и сюда выкладывать. Может сгодится кому...

Начну с программы "Узор".
Программа из разряда "бесполезняшек" - ничего полезного не делает, рисует на экране узоры.

Собственно ядром программы является код в таймере, который и рисует узор:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Private Sub tmrMain_Timer()
  Dim fT As Single
  Dim fX1 As Single
  Dim fY1 As Single
  Dim fX2 As Single
  Dim fY2 As Single
  Dim fA1 As Single
  Dim fA2 As Single
  Dim fB1 As Single
  Dim fB2 As Single
  Dim fC1 As Single
  Dim fD As Single
  '
  picXY.Cls
  Randomize (Timer)
  fA1 = Rnd
  fA2 = Rnd
  fB1 = Rnd
  fB2 = Rnd
  fC1 = 2 * Rnd
  For fT = 0 To 12.6 Step 0.05
    fD = fT + fC1
    fX1 = 2 * Cos(fA2 * fT) - Cos(2 * fA1 * fT)
    fX2 = 2 * Cos(fA2 * fD) - Cos(2 * fA1 * fD)
    fY1 = 2 * Sin(fB2 * fT) - Sin(2 * fB1 * fT)
    fY2 = 2 * Sin(fB2 * fD) - Sin(2 * fB1 * fD)
    picXY.Line (fX2, fY2)-(fX1, fY1), RGB(0, 0, 255)
  Next fT
End Sub
А здесь весь проект полностью:
_Узор 01.zip
3
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.07.2016, 14:15
Ответы с готовыми решениями:

Узоры
Как сделать чтобы программа вызывалась по кнопке "шестиугольники"? И как залить шестиугольники разными цветами? Option Explicit Dim...

Как рисовать узоры в Visual Basic 6.0?
Помогите, пожалуйста. Почему у меня ничего не получается? В чём дело? Вроде бы Visual Basic 6.0 уже существует давным-давно. Должно быть...

Узоры
После запуска выдает ошибку-> Access violation at adress 0044d2d8 in module 'project1.exe'. read of address 00e4fe54 unit Unit1; ...

12
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
21.07.2016, 19:09
zink0000, Вы бы сразу скрин прикрепили, чтобы представлять о чем речь.

Вот примерно такие узоры получаются
Миниатюры
Узоры  
1
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.07.2016, 19:36
Или такие.
Изображения
  
1
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
21.07.2016, 20:55
Лучший ответ Сообщение было отмечено zink0000 как решение

Решение

Для BASICA может это и нормально было, а вот в VB6 это выглядит скучно!
Попробуйте заменить на эту строчку
Visual Basic
1
picXY.Line (fX2, fY2)-(fX1, fY1), RGB(Rnd() * 255, Rnd() * 255, Rnd() * 255)
Прграмма заиграет новыми красками.
1
Юзер с абсолютным слухом
 Аватар для Опан
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
24.07.2016, 23:21
Приятно, что время от времени обсуждают рисование узоров. Хочу предложить свою прогу "Случайный узор" на VB. Правда, староватая версия, но более новых не имеется. Она находится в этой теме:
1
 Аватар для zink0000
258 / 107 / 26
Регистрация: 15.03.2012
Сообщений: 353
Записей в блоге: 35
28.07.2016, 10:58  [ТС]
Pro_grammer, согласен, так будет интересней наверное смотреться.
Надо будет код переделать.

Добавлено через 2 минуты
Опан, спасибо Вам за ссылку.
Что-то я не сообразил сначала тему соответствующую поискать.
Туплю, однако.
0
 Аватар для zink0000
258 / 107 / 26
Регистрация: 15.03.2012
Сообщений: 353
Записей в блоге: 35
04.08.2016, 10:04  [ТС]
Улучшенный вариант программы с возможностью сохранения узора в файл:
_Узор 02.zip

Pro_grammer, сделал с изменение цвета, правда немного по другому, чтобы чёрных и белых линий не было.
1
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
04.08.2016, 16:21
Цитата Сообщение от zink0000 Посмотреть сообщение
сделал с изменение цвета
Нормально вышло
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
04.08.2016, 16:59
--
Вложения
Тип файла: rar _Уз ор 02.rar (3.1 Кб, 4 просмотров)
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
04.08.2016, 21:00
Вложения
Тип файла: rar _Уз ор 02.rar (3.0 Кб, 9 просмотров)
2
 Аватар для zink0000
258 / 107 / 26
Регистрация: 15.03.2012
Сообщений: 353
Записей в блоге: 35
12.08.2016, 08:17  [ТС]
А теперь добавим к программе ещё одно улучшение - возможность сохранять картинку в формате JPEG.

Для этого нам понадобится динамическая библиотека save2jpg.dll, а в проект надо будет добавить модуль Jpeg.bas в котором задекларированы функции из этой самой библиотеки:

Visual Basic
1
2
3
Declare Sub Bmp2Jpg Lib "save2jpg.dll" (ByVal f1 As String, ByVal f2 As String)
Declare Sub SaveToJpg1 Lib "save2jpg.dll" (ByVal hgd As Long, ByVal FileName As String, ByVal Height As Long, ByVal Width As Long)
Declare Sub SaveToJpg2 Lib "save2jpg.dll" (ByVal hgd As Long, ByVal FileName As String, ByVal Height As Long, ByVal Width As Long)
Исходный код - проект полностью:
_Узор 03.zip

Библиотека save2jpg.dll там в архиве тоже есть.
1
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
12.08.2016, 12:23
Цитата Сообщение от zink0000 Посмотреть сообщение
а в проект надо будет добавить модуль Jpeg.bas
Не обязательно, объявить API в модуле формы как Private, и все дела
1
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
12.08.2016, 15:17
Цитата Сообщение от zink0000 Посмотреть сообщение
Для этого нам понадобится динамическая библиотека save2jpg.dll, а в проект надо будет добавить модуль Jpeg.bas в котором задекларированы функции из этой самой библиотеки:
https://www.cyberforum.ru/post4797198.html
Сохранение в JPG без дополнительных DLL, можно изменять качество.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.08.2016, 15:17
Помогаю со студенческими работами здесь

Морозные узоры
во. скоро зима кончится. а я так и не выложил темку про Люблю я сквозь стекла блистательный узор Картиной новою увеселять свой взор. ...

Нарисовать узоры
изобразить

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

Нарисовать узоры из линий
Помогите плз Задания(а,б,в,г,ж) Безымянный.png

Нарисовать 4 круга внутри которых узоры
нарисовать 4 круга внутри которых узоры, круги должны быть как на картинке


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru