|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
|
Опции темы | Поиск в этой теме |
29.05.2014, 14:55 | #1 |
Member
Регистрация: May 2014
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Библиотека меню
Здравствуйте. Работаю с SMH 2010
1) Скачал образец построения меню с вашего сайта, из соответствующей темы на форуме. Но там нет примера как сделать несколько многострочных меню внутри одного многострочного. Непонятно как связывать с кнопками, и как там вообще адресация происходит... У главного макроса должны быть отдельные входа кнопок для каждого встроенного в него меню? Сам пытался что-то городить, выводятся сразу все строчки подряд, и перекрывают друг друга, как-то клочками всё. Версии макросов брал все самые новые какие выложены были. Скиньте пример такой архитектуры, если это возможно 2) И второй вопрос, так же про макросы меню. Среди макросов памяти "mem" есть макросы int-овые, и максимальное число с клавиатуры в них можно ввести 4-х значное. Но требуется ввести и запомнить 5-ти значное число. Чего-то смотрел внутри макроса, переставлял координату Х экрана с 15 на 14, ставил "%5d" вместо "%4d", по-ламерски, но не помогло). Вникать в глубинные алгоритмы макросов нет времени, а сделать надо. Есть какая-то возможность записать и сохранить 5-ти значное число? |
29.05.2014, 16:37 | #2 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Библиотека меню
Цитата:
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
||
30.05.2014, 08:10 | #3 |
Member
Регистрация: May 2014
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Библиотека меню
1) Я пытался соединять обычные мультистринги между собой, теперь конечно попробую макрос "вложенное меню"). Сразу не дошло что оно для этого. Если не разберусь - буду писать ещё...
2) Понял, буду искать вход. Спасибо за помощь |
04.06.2014, 08:41 | #4 |
Member
Регистрация: May 2014
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Библиотека меню
Снова здравствуйте.
1) Меню получилось, примерно в тот же день когда получил Ваши ответы. Единственная проблема - в одном из мульстрингов содержится всего 2 уставки. 3-ю и 4-ю строку я вывел пробелы чтобы они закрашивали символы, оставшиеся от меню предыдущего, более высокого уровня. Всё отображается, вводимые числа запоминаются, но если листать вниз, то меню будет сдвигаться, и так идёт чередование, 2 строки с текстом (но в них уже числа записать нельзя, хоть и мигающий курсор есть), и 2 строки пустых. Листать так можно долго, но хотелось бы чтобы всего 4 строчки было, - 2 с названием того, что вводишь и возможностью собственно ввести, и 2 строчки пустых, и чтобы дальше никуда не шло. Или тут изначально сделано что минимальное количество уставок в мультистринге - 4 и то, что я хочу не получится в принципе? Пункта указал 2, ячейки памяти тоже 2. Однострочное меню здесь делать не хочется, ибо надо чтобы во вложенном меню всё единообразно выглядело. Выход есть? или просто оставить так и надеяться что никто из тех, кто потом потенциально залезет в программу не станет листать вниз? 2) Второй вопрос, более существенный. Есть задача организовать диалоговую форму запуска системы автоматизации и вывод аварий на экран контроллера. То есть не нужно расписание, не нужна регистрация аварий в журнал и их запоминание на неделю или там дольше.. Нужна текстовая сигнализация на экране что авария и вывод её первопричины так же на экран, до первого нажатия сброса аварии. Какие при этом готовые макросы следует использовать? Смотрел макросы "журнал аварий" и "скан аварий", но описания как-то толком не нашёл и мне видимо они и не нужны для моей задачи.. Ещё есть макросы в папке "view". Я так понимаю для вывода на экран значений переменных? но не понимаю как эти макросы использовать. Да и мне нужно текст выводить в случае аварий, а не переменные. Или макросов для моих целей никаких написанных нет и это городится всё у каждого самостоятельно просто через блок вывода на экран в комбинации с затиранием нужных участков экрана? Или как? Я новичок в программировании, строго не судите |
04.06.2014, 10:22 | #5 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Библиотека меню
Цитата:
Минимальное число уставок действительно 4. Но это можно обойти, используя макрос "меню CLS", которое очистит экран. Подключить к "Меню вложенному" так, чтобы сначала выполнялся макрос очистки, а потом макрос мультистринга. Не проверял, но должно сработать. Вам нужно либо сменить контроллер хотя бы на 2G, либо предстоит очень много ручной работы. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
04.06.2014, 11:44 | #6 |
Member
Регистрация: May 2014
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Библиотека меню
Arsie
Понял, благодарю. С очисткой экрана буду пытаться |