Показать сообщение отдельно
Старый 05.06.2006, 14:49   #9  
Antant is offline
Antant
Участник
 
82 / 17 (1) ++
Регистрация: 03.12.2005
Вот что у меня получилось, вариант работающий.

PHP код:
static void testDialog(Args _args)
{
    
Dialog                  cDialog;
    
DialogField             _dialogField;

    
Map                     _map = new Map(Types::StringTypes::Class);

    
void showFields(object o,str name)
    {
        
formBuildControl    formBuildControl;
        
int                 i;
        ;

        for (
i=1;i<=o.controlCount(); i++)
        {
            
formBuildControl o.controlNum(i);
            
name cDialog.formBuildDesign().control(formBuildControl.id()).name();
            if (
cDialog.formBuildDesign().control(formBuildControl.id()).helpText() == 'tst')
            {
                
//info( int2str(cDialog.formBuildDesign().control(formBuildControl.id()).value()));
                
_dialogField _map.lookup('tst');
                
info (_dialogField.value());
            }

            if (
formBuildControl.isContainer())
                
showFields(formBuildControl,name);
        }
    }
    ;

    
cDialog = new Dialog ('тестовый диалог');

    
_dialogField cDialog.addField(typeId(NoYes), 'тестовое поле диалога');
    
_dialogField.helpText('tst');
    
_map.insert('tst'_dialogField);

    
cDialog.run();

    
showFields(cDialog.formBuildDesign(), 'Test');

    if (!
cDialog.closedOk())
        return;

    
cDialog.finalize();

Спасибо всем, отдельно Hezl.
__________________
И почему никто меня не любит?
Да, я надоедливый