Thursday, December 19, 2013

Find top layer objects

static void Job13(Args _args)
{

    #AOT
    #File
    TextIo textIo;
    TreeNode treeNodeTables = TreeNode::findNode(#ClassesPath);
    TreeNode treeNode;
    int myCount, valueID;
    TreeNode treeNode2 = TreeNode::findNode(#TablesPath + '\\' + tableStr(Address));
    UtilEntryLevel layer;
    EnumId  enumId;
    DictEnum dictEnum;
    ;
 
    textIo = new TextIo(@"C:\temp\textlayerchanged_classes.txt", #IO_WRITE);
 
    treeNode = treeNodeTables.AOTfirstChild();
    while (treeNode != null)
    {
        layer = treeNode.applObjectLayer();
        valueID  = enum2int(layer);
        if( valueID ==  10)
        {
//            info(treeNode.AOTname());
            textIo.write(treeNode.AOTname());
        }
        treeNode = treeNode.AOTnextSibling();
    }

}

To find a property from the object

static void findAOTObjectByProperty(Args _args)
{
#AOT
TreeNode treeNodeTables = TreeNode::findNode(#TablesPath);
TreeNode treeNode;
str strPropertyName = 'SaveDataPerCompany';
str strPropertyValue = 'No';
;
// first table
treeNode = treeNodeTables.AOTfirstChild();
while (treeNode != null)
{
if (treeNode.AOTgetProperty(strPropertyName)== strPropertyValue)
{
info(treeNode.AOTname());
}
// next table
treeNode = treeNode.AOTnextSibling();
}
}