![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.02.2009
Сообщений: 33
|
![]()
Здравствуйте!
Подскажите, пожалуйста, как реализовать с помощью Delphi следующую идею. Сначала предистория. Устроился на работу в фирму, занимающуюся установкой линий цинкования программистом промышленных контроллеров. Кроме железячной работы низкого уровня (подвеска влево-вправо, вверх-вниз) необходимо разработать собственно алгоритм перемещения подвески. Алгоритм довольно сложный, ибо необходимо учитывать множество факторов (время нахождения подвески в конкретной ванне, время движения между ваннами, меняющиеся день ото дня операторами времянки выдержки в различных ваннах, возможность исключения нескольких ванн и т.п.). Сначала для пробы нарисовал циклограмму на бумаге. Довольно простая и далеко не изящная, циклограмма заняла три листа формата А4 и перерисовывалась раз 5. Потом попробовал делать в Excel с помощью автофигур в ячейках. В общем-то удобнее, но всё равно не то, что надо. Погуглил, нашёл одну программку, требования там почти те же, что и у меня стоят, но реализация не так, как мне бы хотелось видеть, к тому же отсутствие исходников не позволит ничего изменить, к тому же там ограничение на количество открытий программы. В-общем, решил попробовать написать свою программу. На первое время хотя бы редактор, а дальше как получится. Собственно, вопросы: - как, с помощью каких компонентов дельфи можно реализовать своеобразный "конструктор", то есть брать определённые "фигурки" и "нанизывать" их на пересечения осей пространство-время? С возможностью удаления и перемещения. - в чём собственно сделать оси пространство(первая ванна, вторая ванна, третья и т.д.)-время? - как сделать связи между компонентами, то есть допустим кликнул мышкой по одному компоненту, потянул и осталась линия, или подтянул к другому компоненту. Сейчас пишу, и возникает прямая аналогия между тем, что хочу и редактором электрических принципиальных схем, коих теперь великое множество. Скажем, взял резистор, транзистор и связал их линией. Главное, почему хочется программу свою, чтобы можно было для каждого компонента указать время выполнения (допустим, опускание подвески, подъём, выдержка для стекания) и оно автоматически считалось, чтобы не считать ручками. Наверное, очень сумбурно написал. Дело в том, что осмысление концепции программы на стадии гугления, а написать запрос для гугла как-то не придумывается, поэтому спрашиваю здесь. Может быть, кто-то реализовывал что-то подобное, подскажет путь. Мне не нужно готовое решение, а только совет, в направлении чего двигаться. Возможно, и не на дельфи, может быть есть язык, среда разработки гораздо более удобная для этих целей, дельфи просто выбран потому что его знаю более-менее, остальное много хуже. В-общем, буду рад любому совету! Спасибо, с уважением, Владимир. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 10.02.2009
Сообщений: 33
|
![]()
Единственное, что сам смог придумать - таблица DrawGrid либо StringGrid, в ячейках которой размещать изображения элементов графика. Времена и служебные данные держать в массиве структур, который адресовать номерами строк/столбцов.
Решение в принципе жизнеспособное, примерно вижу как его реализовать... Но как-то кривенько выглядит очень. Перерисовка опять же боюсь много времени съедать будет.. Интересно, каким образом в различных CAD'ах бросаются и закрепляются элементы на рабочую поверхность?.. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 27.09.2010
Сообщений: 376
|
![]()
Здравствуйте
Набрав http://www.google.com/search?hl=en&s...&aqi=&aql=&oq= я получил первую-же ссылку http://www.delphisources.ru/pages/fa...ic_editor.html До свидания P.S. MS Visio не устраивает? P.P.S. http://www.visguy.com/2007/06/03/sal...on-with-visio/ P.P.P.S. 1) http://www.google.com/search?hl=ru&q...rlz=1I7ADFA_ru 2) Перевести эту страницу Последний раз редактировалось OlegVE; 14.03.2011 в 12:30. Причина: Добавка |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 10.02.2009
Сообщений: 33
|
![]()
Спасибо за ссылки, но редактор типа paint не нужен, т.к. нет возможности перемещать помещённый на рабочую область элемент, он уже часть общего изображения. Нужно примерно то же, что и здесь
http://forum.sources.ru/index.php?showtopic=81549 Только не совсем понял ответ, разбираюсь теперь. upd или вот ещё http://forums.overclockers.ru/viewto...?f=28&t=170596 В-общем, буду учится создавать свои компоненты ![]() Последний раз редактировалось shumsheec; 14.03.2011 в 16:22. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
дайте мудрый совет | Totenkopf | Общие вопросы C/C++ | 2 | 15.06.2010 13:20 |
Дайте совет | Михаил70 | Свободное общение | 17 | 14.09.2009 20:52 |
Дайте совет по процессорам | microlab | Компьютерное железо | 3 | 23.11.2008 14:02 |
Дайте совет! | Arch100 | Помощь студентам | 2 | 11.10.2008 01:40 |