Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2017, 21:16   #1
zloy00777
Пользователь
 
Регистрация: 20.01.2017
Сообщений: 10
По умолчанию Программа для построения схем

Необходимо создать программу для построения схемы и вычисления данных. К примеру: выбираем элемент в виде прямоугольника из панели, перетаскиваем на рабочую область несколько штук, выбираем связь из панели, делаем между прямоугольниками связь и по кнопке "выполнить" мне показывает результат. Подскажите, пожалуйста, кто знает. Спасибо
zloy00777 вне форума Ответить с цитированием
Старый 21.01.2017, 11:58   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Хорошее задание. Для какого-нибудь отдела НИИ информатики.
digitalis на форуме Ответить с цитированием
Старый 21.01.2017, 15:31   #3
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Делай в Делфи7 - так проще всего.

1) Продумываешь интерфейс пользователя (хотя бы для начала - потом может корректироваться):
0.jpg

В тексте программы нужно предусмотреть глобальную переменную, которая будет содержать "текущий шифрованный элемент/связь" (если эта переменная равна 0, тогда нет выбранного элемента, если = +1, тогда выбран 1-й элемент... если равна -1, тогда выбрано "1-й вид связи"). Если нажать на "Отмену", то "element=0".


0_1.jpg

Дальше нужен обработчик "Клика мыши"
0_2.jpg

В коде этого обработчика пишешь:
а) проверяешь не вышел ли пользователь за рамки рабочей области
б) не наложатся ли текущее изображение на уже имеющиеся.
в) если всё ОК - рисуешь "элемент" (точка клика у тебя есть, а сам рисунок - по типу "элемента")
0_3.jpg

Посмотри "как нарисовать одну прямую линию":

https://www.youtube.com/watch?v=DLfoPg6KSUI

(а тебе надо не одну линию, а несколько линий - сформировать изображение).
P.S.0: а можно не рисовать элементы в рабочей области, а здесь вставлять картинки...
P.S.1: в интернете нужно посмотреть как "получить доступ из этого обработчика до "координаты клика мыши"?
P.S.2: Для пункта а) и б) (и для дальнейшего рисования связи и расчёта) нужно где-то "хранить данные о элементах"... В принципе можно для этих целей выделить массив целых чисел:
1.jpg

г) ещё можно предусмотреть удаление элемента и смены его типа... Это происходит, например так, кликаешь на элемент и программа "ищет по координатам массива "СХЕМА" попал ли пользователь на накой-нибудь элемент? Если да, тогда можно предложить меню "удалить/заменить""
P.S.3: как работать с меню - отдельная тема... Поищи в интернете.
___________________________________ ______________________________

2) Рисование связей - аналогично: выбираешь связь (при этом она подсвечивается и переменной присваиваться "element= -1"), кликаешь по одному (особо подсвечивается) и второму элементу -> рисуется связь:
2.jpg

P.S.4: Связи можно, в принципе, рисовать снизу и сверху и с боку (где удобней). Это может пользователь определять (например, кликнул во 2-й четверти изображения первого элемента и 3-й четверти изображения второго элемента); а может программа режать где удобней провести ломаную...
P.S.5: Для хранения связей тоже предусмотри массив. Только достаточно из двух значений (где будет указываться начальный и конечный элемент каждой связи).
___________________________________ ______________________________

3) Как только определишься с интерфейсом - переходи к обработке кнопки "Расчёт". Пользователь нажимает её и строится (по данным "СХЕМА" и массива связей) матрица смежности и расчёт...
___________________________________ ______________________________

Вся информация (видеоуроки по работе с делфи7) есть на "youtube"
3.jpg
___________________________________ ______________________________

p.s.6: Я рисунки рисовал в Paint.
p.s.7: Перечитай мой пост ещё 3 раза...
p.s.8: Не понятно, что значит "перетаскиваем на рабочую область"? Потому что проще сделать: "выбираем элемент, клик по рабочей области -> нарисовало элемент"... Ну ладно, вопросы взаимодействия интерфейса программы с пользователем потом продумаешь (и изменишь если что - потому что слова: "перетаскиваем на рабочую область" подразумевают "обрисовки элемента вслед за мышкой", а это требует ещё одного обработчика - рисования...)... а пока реализуй вот это...
p.s.9: Самое главное для тебя сейчас - это набрать опыт работы в Делфи... Само быстро - это смотреть видео уроки на ютубе и повторяй за ними. Может с первого раза не поймёшь что к чему, тогда - повтори 2- раза, 3- раза (чтобы сработал философский принцип "перехода количества в качество")... Я думаю, за пару недель сделаешь своё задание (даже с нуля)...

Последний раз редактировалось ura_111; 21.01.2017 в 16:32.
ura_111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[вопрос] Программа для построения блок-схем Tahoma Общие вопросы по программированию, компьютерный форум 5 11.12.2015 18:13
Программа построения блок-схем по коду hidforce Помощь студентам 0 12.11.2015 01:35
хочу создать редактор для построения блок-схем. Blame Microsoft Office Excel 4 16.10.2012 19:29
программа для схематичного построения робота(механизма) различной сложности (Элементы для построения желательно поместить в БД). brutalis Помощь студентам 1 16.05.2012 20:30
Программа для построения блок-схем? ivan.tiran Помощь студентам 1 05.04.2012 16:36