|
5#
楼主 |
发表于 2023-5-2 22:48:43
|
只看该作者
递归的方法,是不是这样?
<火山程序 类型 = "通常" 版本 = 1 />
方法 增强树形框取句柄组 <公开 静态 类型 = 整数 返回值注释 = "成功返回成员数,失败返回-1。">
参数 强树框 <类型 = 增强树形框>
参数 父项目句柄 <类型 = 变整数 @默认值 = -1>
参数 返回句柄组 <类型 = 变整数数组类>
{
变量 JU句柄 <类型 = 变整数>
<折叠> 如果 (强树框.是否为空 () == 真)
{
返回 (-1)
}
JU句柄 = 强树框.取根项目 ()
如果 (JU句柄 == 0)
{
返回 (0)
}
循环判断首 ()
{
处理事件 ()
如果 (父项目句柄 > 0)
{
JU句柄 = 强树框.取首子项目 (父项目句柄)
}
否则
{
JU句柄 = 强树框.取根项目 ()
}
如果 (JU句柄 > 0)
{
// 调试输出 (JU句柄, 强树框.取项目文本 (JU句柄))
返回句柄组.加入成员 (JU句柄)
如果 (强树框.是否有子项目 (JU句柄) == 真)
{
如果 (增强树形框取句柄组 (强树框, JU句柄, 返回句柄组) < 0)
{
返回 (-1)
}
}
循环判断首 ()
{
处理事件 ()
JU句柄 = 强树框.取后兄弟项目 (JU句柄)
如果 (JU句柄 > 0)
{
// 调试输出 ("兄弟项目", JU句柄, 强树框.取项目文本 (JU句柄))
返回句柄组.加入成员 (JU句柄)
如果 (强树框.是否有子项目 (JU句柄) == 真)
{
如果 (增强树形框取句柄组 (强树框, JU句柄, 返回句柄组) < 0)
{
返回 (-1)
}
}
}
}
循环判断尾 (JU句柄 > 0)
}
}
循环判断尾 (JU句柄 > 0)
返回 (返回句柄组.取成员数 ())
}
|
|