Zloy_Gelud

Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Ребят, очень нужна функция наподобие Tree.FindNodeByText без_учета_регистра_букв, т.е. nocase Написал заготовку: Код: function Tree.FindNodeByTextEx(strObject, strStartNodeIndex, strValue) strResult = ""; function x(strNode) nCount = Tree.GetChildCount(strObject, strNode); for i=1, nCount do strInd = strNode.."."..i; if (Tree.GetNode(strObject, strInd) ~= nil) then tbl[Table.Count(tbl) + 1] = {Text = Tree.GetNode(strObject, strInd).Text, IndexNode = strInd}; if (Tree.GetChildCount(strObject, strInd) ~= -1) then x(strInd); end end end end tbl={}; for n=1, Tree.GetChildCount(strObject, strStartNodeIndex) do if (strStartNodeIndex == "0") then strStartNodeIndex = "1"; end tbl[Table.Count(tbl) + 1] = {Text = Tree.GetNode(strObject, strStartNodeIndex).Text, IndexNode = strStartNodeIndex}; x(strStartNodeIndex); end if (Table.Count(tbl) == 0) then for i = String.Left(strStartNodeIndex, 1)+1, Tree.GetChildCount(strObject, "0") do tbl[Table.Count(tbl) + 1] = {Text = Tree.GetNode(strObject, i).Text, IndexNode = i}; x(i); end end if (Table.Count(tbl) > 0) then for i=1, Table.Count(tbl) do if (String.Lower(tbl[i].Text) == String.Lower(strValue)) then strResult = tbl[i].IndexNode; break; end end end return strResult; end | Впринципе работает, но не совсем правильно. Помогите дописать что ли. А то уже моск себе весь вынес.. | Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 17:20 21-03-2009 | Исправлено: Zloy_Gelud, 23:15 21-03-2009 |
|