22.11.2004, 17:51 | #1 |
Участник
|
InputBox
Всем привет!
Попросили задать вопрос (и самому интересно): Необходимо запросить в диалоговом окне значение одного поля. Что-нибудь типа этого: TransDate transDate; ; transDate = InputBox::Input("Введите дату", "Ввод даты", #01.01.2004#); С уважением, Георгий. |
|
22.11.2004, 17:56 | #2 |
Участник
|
ddaMonthMesuriment ddaMM;
boolean MyDialog() { Dialog dialog = new Dialog("Введите"); DialogField StrVal = dialog.addField(typeid(ddaMonthMesuriment),"измерение."); ; if (dialog.run()) { ddaMM = StrVal.value(); return true; } return false; } if( MyDialog() == false) return ; |
|
|
За это сообщение автора поблагодарили: star52 (1). |
02.04.2021, 10:30 | #3 |
Участник
|
Постоянно забываю структуру Dialog и то как создать даже простое строковое...
|
|
02.04.2021, 11:53 | #4 |
Участник
|
На основе класса диалог когда-то делал для себя такой метод
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)); //... } |
|