Показать сообщение отдельно
Старый 06.10.2004, 14:37   #9  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
вот, на коленке собрано

PHP код:
static void Job1(Args _args)
{
    
Dictionary          dictionary = new Dictionary();
    
DictTable           dictTable;
    
DictField           dictField;
    
DictType            dictType;
    
int                 ij;

    
extendedTypeId parentTypeId(extendedTypeId _typeId)
    {
        
DictType            parentType = new DictType(_typeId);
        
ExtendedTypeId      parentId;
        ;

        while (
parentType)
        {
            
parentId parentType.id();
            
parentType = new DictType(parentType.extend());
        }

        return 
parentId;
    }

    ;

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

        if (!
dictTable.isTmp() && !dictTable.isSystemTable() && !dictTable.isView())
        {
            for (
1<= dictTable.fieldCnt(); j++)
            {
                
dictField = new DictField(dictTable.id(), dictTable.fieldCnt2Id(j));
                if (!
dictField.isSystem())
                {
                    if (
dictField.baseType() == Types::String)
                    {
                        
//if (parentTypeId(dictField.id()) == extendedtypenum(Num))

                        
dictType = new DictType(dictField.typeId());

                        if (!
dictType)
                            
warning (strfmt("%1.%2 - поле без типа, неаккуратно как-то"dictTable.name(), dictField.name()));
                        else
                            if (
dictType.stringRight())
                                
info (strfmt("%1.%2 - выравнивание вправо"dictTable.name(), dictField.name()));
                    }
                }
            }
        }
    }

все равно для себя давно собирался написать что-то подобное, не пропадать же добру
За это сообщение автора поблагодарили: Yprit (1).