Итак, нужно сделать КП, тему выбрал составление блок схемы (с применением drag and drop) и вывод кода программы из блок схемы и наоборот. То есть сделать аналог программы diamFC.
Но возникли проблемы с условиями в условиях (if ... then begin if ... then begin ... end; end.
Хотелось бы узнать у других юзеров как бы они составили алгоритм программы.
Думал заморочиться с canvas`ом, но сделал сетку из image, чтобы блок схема была ровной.
Надеюсь в ближайшие дни тут напишут дельный алгоритм, времени осталось пару дней на перепись кода.
Помогите продумать алгоритм составления кода из блок схемы
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Какой еще алгоритм?! 
В каком виде у Вас в памяти хранится рисуемое на экране? (динамические списки, деревья, массивы, коллекции, что?)
В момент дропания Image на Panel (или на что там у Вас) что еще происходит? Как хранится информация о связях между блоками, на основе чего и как отрисовываются стрелочки?
И бы хранил данные о блок-схеме в виде дерева, тогда простейший рекурсивный обход дерева давал бы мне код. Обходим дерево, на спуске ставим begin, или открываем блочный оператор, а на подъёме — закрываем его. Порядок ветвей узла считаем значимым — это порядок операторов.
В общем, резюме такое: уходите в академотпуск
За 2 дня нормально это не делается.

В каком виде у Вас в памяти хранится рисуемое на экране? (динамические списки, деревья, массивы, коллекции, что?)
В момент дропания Image на Panel (или на что там у Вас) что еще происходит? Как хранится информация о связях между блоками, на основе чего и как отрисовываются стрелочки?
И бы хранил данные о блок-схеме в виде дерева, тогда простейший рекурсивный обход дерева давал бы мне код. Обходим дерево, на спуске ставим begin, или открываем блочный оператор, а на подъёме — закрываем его. Порядок ветвей узла считаем значимым — это порядок операторов.
В общем, резюме такое: уходите в академотпуск
