Вверх ↑
Этот топик читают: Гость
Ответов: 1942
Рейтинг: 627
#1: 2015-10-11 02:03:50 ЛС | профиль | цитата
Scheme интерфейсный элемент для построения, отображения и редактирования блок схем (см. скриншот ниже).
Пример работы элемента Scheme
Элемент начал делать давно, но так и не доделал. Законченность процентов на 70-80, в основном основа заложена.
Что есть на данный момент:
1. Фигуры 8 штук (прямоугольник, округленный прямоугольник, ромб, окружность, два скошенных прямоугольника и два округленных с двух сторон прямоугольника).
2. Линии (горизонтальная, вертикальная, две диагональных и четыре загнутых под 90 градусов).
3. Текст в центре фигур (можно редактировать).
4. Выделять и перетаскивать как один элемент так и несколько за раз.
5. Изменять размер элемента (рамка изменения размера).
6. Горизонтальный и вертикальный ползунки при увеличении размера схемы.
7. Горячие клавиши.
8. Всплывающее меню на поле (правый клик мыши).
9. Возможность перенести элемент на передний или задний план. (как элементы в HiAsm)
10. Цвет элементов и цвет рамки.
11. Элемент Надпись (горизонтальная и вертикальная)

Что осталось сделать (на мой взгляд):
1. Сохранение и запись схемы в файл (как минимум обычный текстовой файл)
2. Точки добавления, удаления и редактирования элементов.
3. Закончить элементы: надпись, рамку и стрелки.
4. Возможность получения изображения схемы (bmp).


Скачать архив с элементом Версия от 12.10.2015


карма: 9

7
файлы: 2scheme_01.png [25.5KB] [1139], scheme_2015_10_12.rar [9KB] [244]
Голосовали:andrestudio, Tad, tig-rrr, MAV, flint2, miver, Konst
vip
#1.1контекстная реклама от партнеров
Ответов: 1303
Рейтинг: 405
#2: 2015-10-11 10:12:51 ЛС | профиль | цитата
sla8a, что то не получается соеденить линией две фигуры как примере.
карма: 3

0
Ответов: 1942
Рейтинг: 627
#3: 2015-10-11 11:18:51 ЛС | профиль | цитата
MAV, линии это отдельные элементы не связанные с фигурами:
sla8a писал(а):
2. Линии (горизонтальная, вертикальная, две диагональных и четыре загнутых под 90 градусов).
Добавляется горячей клавишей L, изменяются колесиком мыши.
Отказался от связей между фигурами. Плюсов вроде больше, чем минусов.

Сегодня ночью обновлю, будет: цвет заливки, цвет рамки и возможность изменять шрифт.
цветная схема
карма: 9

0
файлы: 1scheme_03.png [7KB] [1023]
Ответов: 16884
Рейтинг: 1237
#4: 2015-10-11 14:50:01 ЛС | профиль | цитата
sla8a, а сколько нужно фигур для отображения любого алгоритма в графическом виде ?
http://cert.obninsk.ru/gost/282/282.html
№6 точно не входит в стандарт. Или составляем свой алфавит ?
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1303
Рейтинг: 405
#5: 2015-10-11 18:06:41 ЛС | профиль | цитата
sla8a писал(а):
Отказался от связей между фигурами. Плюсов вроде больше, чем минусов.

sla8a, под минусами имеютя ввиду сложность разработки ? . А так сдвинул группу фигур и всем линкам хана
------------ Дoбавленo в 18.06:
Неплохо бы было загружать схему не только из файла но из потока, что бы можно былать делать динамические презентации.
карма: 3

0
Ответов: 16884
Рейтинг: 1237
#6: 2015-10-11 20:47:38 ЛС | профиль | цитата
MAV писал(а):
Неплохо бы было
Требования к оформлению писал(а):
1. Расстояние между параллельными линиями потоков должно быть не менее 3 мм , между остальными элементами схемы – не менее 5 мм .
2. Горизонтальный и вертикальный размеры блока должны быть кратны 5 мм.
3. Отношение горизонтального и вертикального размеров блока 1.5 является основным. Допустимо отношение 2.
4. Блоки "Начало", "Конец" и "Соединитель" имеют высоту вдвое меньше высоты основных блоков.
5. Для размещения блоков рекомендуется поле листа разбивать на горизонтальные и вертикальные (для разветвляющихся схем) зоны.
6. Для удобства описания блок-схемы каждый ее блок следует пронумеровать. Удобно использовать сквозную нумерации блоков. Номер блока располагают в разрыве в левой верхней части рамки блока.
7. На линиях потоков необходимо стрелками указывать направление потоков.
Пример:
image_algoritm.jpg
------------ Дoбавленo в 20.00:
Блин. Paint исказил в примере размеры.
------------ Дoбавленo в 20.47:
Кстати, для создания схем алгоритмов (для людей. Для себя бумага и карандаш. ) пользуюсь редактором yEd (http://www.yworks.com/en/products_yed_download.html)
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1image_algoritm.jpg [11KB] [969]
Ответов: 1942
Рейтинг: 627
#7: 2015-10-12 02:15:25 ЛС | профиль | цитата
Tad писал(а):
а сколько нужно фигур для отображения любого алгоритма в графическом виде ?
Tad писал(а):
составляем свой алфавит ?
Да пробовал свои силы, задачи придерживаться стандартам не было. Будет все работать, можно без особого труда добавить необходимые фигуры.
MAV писал(а):
под минусами имеютя ввиду сложность разработки ?
Это и есть первый и самый жирный минус. Линии скорее всего и останутся, но можно будет добавить и связи. Повозится правда придется и не факт что осилю.
MAV писал(а):
Неплохо бы было загружать схему не только из файла но из потока, что бы можно былать делать динамические презентации.
Об этом еще рано говорить.

карма: 9

0
Гость
Ответов: 17029
Рейтинг: 0
#8: 2015-10-12 06:40:30 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2020-03-01 19:00:14
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#9: 2015-10-12 06:48:35 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2020-03-01 19:00:14
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#10: 2015-10-12 06:50:23 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2020-03-01 19:00:17
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#11: 2015-10-12 06:53:05 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2020-03-01 19:00:23
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#12: 2015-10-12 07:02:16 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2020-03-01 19:00:24
карма: 0

0
Ответов: 1710
Рейтинг: 120
#13: 2015-10-12 10:11:49 ЛС | профиль | цитата
Слава sla8е!!!

Правильно я понимаю, что нет некоторых точек, потому что компонент ещё не доделан?
точки - надпись (по надписи формируются размеры фигуры), координаты. Нужна подсказка для каждого элемента схемы.
Форма фигуры задаётся индексом из точки.
Нужен отдельный компонент без менюшки и рамки редактирования размеров.
Допустим, что есть какое то дерево, при обходе дерева строится его визуализация.
Из узлов дерева берутся все параметры (форма, цвет, надпись, подсказка).
карма: 5

0
Ответов: 1942
Рейтинг: 627
#14: 2015-10-12 13:14:24 ЛС | профиль | цитата
flint2 писал(а):
нет некоторых точек, потому что компонент ещё не доделан?
Да.
flint2 писал(а):
Нужен отдельный компонент без менюшки и рамки редактирования размеров.
Редактирования размеров чего?
г. Ном писал(а):
Можно, наверное, их сделать "cврбодно плавающими" по контуру фигуры.
Это для меня на данный момент сложно, попробую.
г. Ном писал(а):
Могу поднять архив того что у меня получалось по результатам.
Не думаю что мне это поможет, были у меня исходники других проектов на делфи, но проще свое с нуля сделать, чем в чужом копаться.
карма: 9

0
Ответов: 1710
Рейтинг: 120
#15: 2015-10-12 14:20:12 ЛС | профиль | цитата
Редактирования размеров чего?

http://forum.hiasm.net/forum_serv.php?q=56&id=4059
Можно сделать опцию в свойствах выводить рамку, или нет.
+ Можно сделать так - при наведении курсора на фигуру происходит событие и выводит в поток индекс/номер фигуры.
карма: 5

0
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)