示例#1
0
	void Print(int ident)
	{
		if (text&&length)
		{
			PrintIdent(ident);
			static char mess[10000];
			static char str[10000];
			mystrncpy(str,text,length);
			sprintf(mess,"|%s|\n",str);
			OutputDebugString(mess);
		}
		if (child)
		{
			PrintIdent(ident);
			OutputDebugString("{\n");
			TxtNode *sib=child;
			while (sib)
			{
				sib->Print(ident+1);
				sib=sib->sibling;
			}

			PrintIdent(ident);
			OutputDebugString("}\n");
		}
	}
示例#2
0
void TraceTreeLevel(NodeList * node)
{
    DWORD i;
    if (!node) return;
    PrintIdent();
    {
        char buf[255];
        mir_snprintf(buf, "%d\n", node->pData);
        TRACE(buf);
    }
    ident += 5;
    for (i = 0; i < node->AllocatedChilds; i++)
    {

        if (node->childNodes[i].AllocatedChilds>0)
            TraceTreeLevel(&(node->childNodes[i]));
        else
        {
            PrintIdent();
            {
                char buf[255];
                mir_snprintf(buf, "%d\n", node->childNodes[i].pData);
                TRACE(buf);
            }
        }
    }
    ident -= 5;
}