|  05.06.2006, 12:59 | #1 | 
| Участник | Получение значений из диалога 
			
			Здравствуйте! Мне нужно получить значение из одного из полей диалога после окончания его работы. Перебором всех полей диалога я нахожу это поле, но значение его всегда равно NULL. Для ясности ситуации привожу джоб. PHP код: 
			
				__________________ И почему никто меня не любит?  Да, я надоедливый | 
|  | 
|  05.06.2006, 13:19 | #2 | 
| Модератор | 
			
			Без паники! Все работает: X++: static void Job10(Args _args) { Dialog dialog; DialogField dialogFieldName; DialogField dialogFieldSex; Name name; boolean isWoman; ; dialog = new Dialog("Input your name"); dialogFieldName = dialog.addField(typeId(Name), "Введите Ваше имя"); //dialogFieldName.helpText('tst'); dialogFieldSex = dialog.addField(typeId(NoYes), "Вы женщина?"); //dialogField.helpText('tst'); if (dialog.run()) { name = dialogFieldName.value(); isWoman = dialogFieldSex.value(); } else throw error("Прервано пользователем"); info(strfmt("%1, %2",name, isWoman)); } Георгий. ПОЧЕМУ внутренняя переменная начинается с "_" ???? Изучайтк BP. Смотрите tutorials. | 
|  | 
|  05.06.2006, 13:38 | #3 | 
| Участник | 
			
			В том то и проблема, что я не могу использовать DialogField... я не знаю изначально сколько у меня будет полей. Я создаю поля динамически. Но спасибо за участие. Насчет внутренних переменных... если я не ошибаюсь, следуя BP нужно '_' ставить только перед переменными, передаваемыми в функцию... Постараюсь в следующий раз делать правильно, в соотвтетсвии с BP. 
				__________________ И почему никто меня не любит?  Да, я надоедливый | 
|  | 
|  05.06.2006, 13:48 | #4 | 
| Участник | 
			
			Вообще Диалог в трехровневой конфигурации состоит из клиентской и серверной части, и надеятся на то что у него есть контролы нельзя...
		 | 
|  | 
|  05.06.2006, 13:56 | #5 | 
| Модератор | Цитата: 
		
			Сообщение от belugin
			
			 Вообще Диалог в трехровневой конфигурации состоит из клиентской и серверной части, и надеятся на то что у него есть контролы нельзя... | 
|  | 
|  05.06.2006, 14:28 | #6 | 
| Участник | 
			
			Я уверен, что есть простое решение моей проблемы. Но пока не осенило. 
				__________________ И почему никто меня не любит?  Да, я надоедливый | 
|  | 
|  05.06.2006, 14:33 | #7 | 
| Участник | 
			
			Записывайте создаваемые объекты DialogField в массив. Потом ищите нужный в вашем массиве и смотрите его значение
		 | 
|  | |
| За это сообщение автора поблагодарили: Antant (1). | |
|  05.06.2006, 14:38 | #8 | 
| Участник | Цитата: 
		
			Сообщение от Hezl
			
			 Записывайте создаваемые объекты DialogField в массив. Потом ищите нужный в вашем массиве и смотрите его значение 
				__________________ И почему никто меня не любит?  Да, я надоедливый | 
|  | 
|  05.06.2006, 14:49 | #9 | 
| Участник | 
			
			Вот что у меня получилось, вариант работающий. PHP код: 
			
				__________________ И почему никто меня не любит?  Да, я надоедливый | 
|  | 
|  05.06.2006, 14:54 | #10 | 
| Участник | 
			
			Ну как-нибудь так: Код: static void testDialog(Args _args)
{
    Dialog                  cDialog;
    DialogField             dialogField;
    Array                   arrDialogField = new Array(types::Class);
    void showFields(object o,str name)
    {
        int                 i;
        DialogField         dField;
        ;
        for (i=1;i<=arrDialogField.lastIndex(); i++)
        {
            dField = arrDialogField.value(i);
            info(dField.value());
        }
    }
    ;
    cDialog = new Dialog ('тестовый диалог');
    dialogField = cDialog.addField(typeId(NoYes), 'тестовое поле диалога');
    dialogField.helpText('tst');
    arrDialogField.value(1, dialogField);
    dialogField = cDialog.addField(typeId(Num), 'тестовое поле диалога');
    dialogField.helpText('tst2');
    arrDialogField.value(2, dialogField);
    cDialog.run();
    showFields(cDialog.formBuildDesign(), 'Test');
    if (!cDialog.closedOk())
        return;
    cDialog.finalize();
}  | 
|  | 
|  05.06.2006, 15:17 | #11 | 
| Участник | 
			
			лучше List - он как раз для этого предназначен - для упорядоченных списков или Set если порядок не волнует.
		 | 
|  | 
|  | 
| Опции темы | Поиск в этой теме | 
| Опции просмотра | |
| 
 |