|
22.11.2004, 17:51 | #1 |
Участник
|
InputBox
Всем привет!
Попросили задать вопрос (и самому интересно): Необходимо запросить в диалоговом окне значение одного поля. Что-нибудь типа этого: TransDate transDate; ; transDate = InputBox::Input("Введите дату", "Ввод даты", #01.01.2004#); С уважением, Георгий. |
|
02.04.2021, 11:53 | #2 |
Участник
|
На основе класса диалог когда-то делал для себя такой метод
X++: static container InputBox(container _conFields, caption _caption = "") { container ret = conNull(); Dialog dlg = new Dialog(); List listFields = new list(Types::Class); ListEnumerator enumerator; int n = conlen(_conFields); int i; ; for (i = 1; i <= n; i += 3) { listFields.addEnd( dlg.addFieldValue( conpeek(_conFields, i), conpeek(_conFields, i + 1), conpeek(_conFields, i + 2))); } dlg.caption(_caption); if (dlg.run()) { enumerator = listFields.getEnumerator(); while (enumerator.moveNext()) { ret += enumerator.current().value(); } } return ret; } Пример использования: X++: static void Job_TestInputBox(Args _args) { FromDate FromDate; ToDate ToDate; container con; ; con = ksm::InputBox([ typeId(FromDate), FromDate, "", typeId(ToDate), ToDate, "" ], "Caption"); if (con == conNull()) { // на диалоге пользователь нажал кнопку Отмена return; } [FromDate, ToDate] = con; info(strfmt("FromDate = %1", FromDate)); info(strfmt("ToDate = %1", ToDate)); //... } |
|