PDA

Просмотр полной версии : Помоги с keypad пожалуйста



rublikdimas
20.10.2015, 13:20
День добрый, подскажите пожалуйста, можно ли как-то определить то что пользователь в стандартном диалоге keypad нажал кнопку OK? Мне это нужно для того чтобы после ввода значения запустить обработку этого самого значения.

Al-Al
21.10.2015, 10:27
Я в СПК новичок, но ведь можно проверить вводимое значение, равно ли старому, как изменится, так и запустить обработку?

Yegor
21.10.2015, 11:37
См. событие OnDialogClosed.

Евгений Кислов
21.10.2015, 11:38
См. событие OnDialogClosed.

Но оно сработает также при нажатии на кнопку ESC.

Yegor
21.10.2015, 12:20
Мда, значит, просто так не получится.
У меня этой проблемы не возникало, потому что я стараюсь писать программы так, чтобы пересчёт по старому значению не влиял (https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D1%82%D0%BE%D1%82%D0%B0_%D1%84% D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8) на состояние системы. При этом обработка по закрытию диалога у меня тоже есть, но я не вижу проблем обработать заново старое значение (в случае ESC).

capzap
21.10.2015, 13:16
мне кажется в документации как раз таки отдельно про кнопку Ок показан пример

Евгений Кислов
21.10.2015, 13:26
мне кажется в документации как раз таки отдельно про кнопку Ок показан пример

Внесу небольшое уточнение. В современных (SP5 Patch5 и выше) версиях CODESYS данный код не сработает. Но его актуальная версия доступна в примере от компании 3S (приложение IECOpenDialog). Пример запускается и работает на 3.5 SP6 и выше. Если кто-то будет в нем разбираться, то отпишитесь, пожалуйста, удалось ли адаптировать его к Numpad и Keypad (в примере рассмотрен диалог Login).