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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2015, 09:17   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Ребят, привет, есть вопрос, как на canvas отрисовать логические блоки, со знаками (и, или), затем исходя из рассчитанной таблицы истинности связать эти блоки так, чтоб было соответствие, плюс к некоторым пририсовать кружки, отображающие отрицание.

Далее интересно знать подходит ли для этого компонент timage, если рядом кнопки +,-, чтоб врисовывалась вся схема. Релевантнее как-то циклом пройтись по всем квадратам, и уменьшить/увеличить размер.

Возможно ли создать массив? Если да, то какого типа?

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

При этом писали подобие point на timage.

С хранением можно использовать массив tbitmap, туда же и логику, но как разместить в нужном порядке и соединить линиями?
from dark to light)

Последний раз редактировалось Аватар; 18.04.2015 в 09:53.
Алексей_2012 вне форума Ответить с цитированием
Старый 18.04.2015, 10:34   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А ты не пробовал почитать в хелпе список методов TCanvas? Там есть и методы рисования линий типа Line() и прямоугольники Rectangle() и другие примитивы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.04.2015, 10:47   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

модель -- набор классов ( и МАССИВ/список/... экземпляров данных классов) чтобы ХРАНИТЬ информацию о логических блоках.
представление -- отрисовка на Canvas всей или части ИМЕЮЩЕЙСЯ (хранящейся) информации изо всех или нужных экземпляров классов логических блоков.
управление -- использование кнопок +/- для модификации модели (данных хранящихся в экземплярах классов) с целью получить нужное представление (изображение).
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 18.04.2015, 11:53   #4
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

а управление можно реализовать и эффективнее не через написание нового метода своего класса, а через изменение ширины/высоты каждого элемента tbitmap и перерисовки?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 18.04.2015, 15:08   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

модель = информация о логическом блоке включая примитив для его рисования (Tbitmap) если он нужен, ну и прочее что будет нужно.
И его совсем не обязательно копировать полностью, достаточно иметь ссылку на место в общем "архиве" примитивов. (что-то вроде ImageList и использовать (хранить) его индекс).
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отрисовка и формы Mefgalm C# (си шарп) 1 07.08.2013 11:09
Масштабирование на Canvas серофим C++ Builder 0 28.11.2012 23:25
По пиксельная отрисовка Evgenuych96 Паскаль, Turbo Pascal, PascalABC.NET 2 23.11.2012 19:35
QT4. Динамическая отрисовка. Как? jojahti Qt и кроссплатформенное программирование С/С++ 6 18.08.2009 11:14
Отрисовка компонентов Dr.Badnezz Компоненты Delphi 1 04.01.2009 16:50