09.02.2007, 11:46 | #1 |
Участник
|
Выбрать все элементы рекурсией
X++: EmplTable EmplTableFind; list ListSub = new list(types::String); listIterator it; EmplTableFind = EmplTable::findUserId("LMA"); ListSub = (ZG_HRMOrganization::getOrganizationChildren(ZG_HRMOrganizationType::Line, emplTableFind.hrmOrganizationId) ); //Выводим список it = new listIterator (ListSub); while (it.more()) { //вывод в текстовое поле it.next(); } AA ББ ВВ emplTableFind.hrmOrganizationId - изначально оно соделжит к примеру значение АБ. При выполнении этой процедуры в лист заносится список, который выглядит примерно так: AA ББ ВВ Потом нужно выполнить эту процедуру по каждому из занесенных значений в лист. т.е.: AA ББ ВВ Каждая из этих строк вернет еще какие-то комбинации слов, по ним тоже нужно пройтись. Нужно сделать так, чтобы был рекурсивный обход по каждому из полученных элементов до тех пор пока не будет возвращено пустое значение по всем конечным ветвям. В итоге лист должен содердать все элементы дерева, но не повторяющиеся... А теперь самое главное... Как это реализовать? |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|