Показать сообщение отдельно
Старый 16.12.2002, 09:05   #15  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
PS. Может что забыл залить - обращайтесь.
На самом деле форма не запускается, так как не хватает кучи EDT. Но все равно спасибо, было интересно взглянуть.


Цитата:
TABLE 1 - название
Filed 1.1 - название
Field 1.2 - название
Попробую подвести какую-то черту.

Вот вариант с TreeNode:

PHP код:
static void printTablesAndFields(Args _args)
{
  
treeNode treeNode;
  
treeNode fieldNode;
  
xInfo xInfo = new xInfo();
  ;
  
treeNode xInfo.rootNode();
  
treeNode treeNode.AOTfindChild("Data Dictionary");
  
treeNode treeNode.AOTfindChild("Tables");
  
treeNode treeNode.AOTfirstChild();
  while (
treeNode)
  {
    print 
treeNode.TreeNodeName();

    
fieldNode treeNode.findChild("Fields");
    
fieldNode fieldNode.firstChild();

    while (
fieldNode)
    {
       print 
"    " fieldNode.treeNodeName();
       
fieldNode fieldNode.nextSibling();
    }

    
treeNode treeNode.nextSibling();
  }

Вот вариант с DictTable:

PHP код:
static void printTablesAndFields2(Args _args)
{
    
Dictionary      dictionary      = new Dictionary();
    
TableId         refTableId;
    
FieldId         refFieldId;
    
DictTable       dictTable;
    
DictField       dictField;
    
int             ij;
    ;
    
startLengthyOperation();

    for (
i=1i<= dictionary.tableCnt(); i++)
    {
        
refTableId   dictionary.tableCnt2Id(i);
        
dictTable = new DictTable(refTableId);
        print 
dictTable.name();

        for (
j=1j<= dictTable.fieldCnt(); j++)
        {
           
refFieldId dictTable.fieldCnt2Id(j);
           
dictField = new DictField(refTableIdrefFieldId);
           print 
"    " dictField.name();
        }
    }

За это сообщение автора поблагодарили: aidsua (1), Aquarius (1).