|
![]() |
#1 |
MCTS
|
Цитата:
но не повторяющиеся...
|
|
![]() |
#2 |
Участник
|
ща немного подправлю и скину...
|
|
![]() |
#3 |
Участник
|
Короче получилось так... но так нельзя програмить...
![]() Возможно еще где-то переменные лишние висят...Да и работу с массивом можно оптимизировать... Вообщем вот этот громоздкий код: X++: void clicked() { str arrSub[]; int a=1;//размерность массива int c=1,d=1; int b; int OutLoadArr,OutLoadArrF; EmplTable EmplTableFind; list ListSub, ListSub2 = new list(types::String); listIterator it, it2; ; super(); StaticTextPodch.text(""); EmplTableFind = EmplTable::findUserId("ZLD"); //************************************************************************************************************************* //************************************************** Получаем родительские списки ***************************************** ListSub = (ZG_HRMOrganization::getOrganizationChildren(ZG_HRMOrganizationType::Line, emplTableFind.hrmOrganizationId) ); //Выводим список it = new listIterator (ListSub); while (it.more()) { arrSub[a] = it.value(); a++; it.next(); } //info("первый обход выгрузили = "+ int2str(a)); //************************************************************************************************************************* //************************************************* Продвигаемся вниз по ветвям ******************************************* while (c > 0) { d = a; for (b=c; b<=d; b++) { //info("смотрим по списку " + ArrSub[b]); if (ArrSub[b] == "") { // info("ПУСТОЙ СИМВОЛ"); break; } ListSub2 = (ZG_HRMOrganization::getOrganizationChildren(ZG_HRMOrganizationType::Line, arrSub[b])); //Выводим список it2 = new listIterator (ListSub2); while (it2.more()) { arrSub[a] = it2.value(); // info("Находим " + ArrSub[a]); a++; it2.next(); } c=a-d;//на сколько увеличелся список c=a-c;//не обработанные элементы начинаются с этого значения } //info("Второй тоже = "+ int2str(a)); // убираем повторяющиеся записи for(OutLoadArr=1; OutLoadArr <= a-1; OutLoadArr++) { for(OutLoadArrF=OutLoadArr+1; OutLoadArrF <= a; OutLoadArrF++) { if(ArrSub[OutLoadArr] == ArrSub[OutLoadArrF]) { ArrSub[OutLoadArr] = ""; } } } //Выводим список for (OutLoadArr=1; OutLoadArr <= a; OutLoadArr++) { StaticTextPodch.text(StaticTextPodch.text() +", "+ arrSub[OutLoadArr]); } break; } |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|