Дерево по одному файлу в станд. browse
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Дерево по одному файлу в станд. browse
У меня есть файл который хорошо отображается в SingleFileTree как переделать этот файл для browse
С уважением Larion.
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Дерево по одному файлу в станд. browse
А зачем? Автоматически броуз не сможет правильно отобразить дерево. Нужна предварительная подготовка. Либо использовать скульную вьюху. Либо собирать очередь вручную по алгоритму SingleFileTree, и использовать, видимо, IMDD для полноценного броуза. И, главное, зачем? Что не так с SingleFileTree?
We are hard at work… for you.
Дерево по одному файлу в станд. browse
SingleFileTree полностью устраивает но не могу организовать поиск чтобы найденная строка открывалась.
С уважением Larion.
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Дерево по одному файлу в станд. browse
Я делаю так:
Смысл простой. Есть контрол строки поиска. Пользователь набирает там подстроку, нажимает кнопку найти или Enter. Поскольку этот шаблон не держит всё в памяти, надо загрузить всё дерево (рутина TSFх:ExpandAll). Поскольку это занимает время, хорошо бы помнить этот момент. Дальше должно быть понятно.
Код: Выделить всё
setcursor(CURSOR:Wait)
if ~LOC:TreeExpandAll
do TSF3:ExpandAll
LOC:TreeExpandAll = 1
end
i# = TSF3:CurrentChoice
loop
i# += 1
get(Queue:SingleFileTree,i#)
if errorcode()=30 ! Конец очереди, начинаем с первой записи
i# = 0
cycle
end
if i#=TSF3:CurrentChoice ! Прошли круг и ничего не нашли
break
end
if instring(clip(upper(LOC:SearchString)),upper(Queue:SingleFileTree.TSF3:Display),1,1)
break
end
end
setcursor()
if i#<>TSF3:CurrentChoice
select(?FileTree,i#)
post(EVENT:NewSelection,?FileTree)
else
select(?FileTree,i#)
end
We are hard at work… for you.
Дерево по одному файлу в станд. browse
Спасибо выручили. В моём случае найденных строк может быть много я заряжаю Queue.
Из Queue я встану SingleFileTree с Вашей подсказкой.
Из Queue я встану SingleFileTree с Вашей подсказкой.
С уважением Larion.
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Дерево по одному файлу в станд. browse
Явно переводчик нужен.
У меня в деревьях много повторяющихся строк. Поэтому смысл поиска такой. Раскрыть полностью дерево и передвигаться по найденным подстрокам. Пользователь для этого всё время нажимает кнопку "Поиск". Есть задачка (пока на обсуждении) организовать фильтр по дереву. Отображать только ветки, имеющие подстроку поиска. На первый взгляд сложная задача для данного шаблона.
We are hard at work… for you.
Дерево по одному файлу в станд. browse
Да фильтр это было замечательно. Можно рассмотреть вариант раскрыть несколько веток полностью и искать в них.Есть задачка (пока на обсуждении) организовать фильтр по дереву. Отображать только ветки, имеющие подстроку поиска. На первый взгляд сложная задача для данного шаблона.
Но тут надо решить проблему выборочного полного открытия веток.
С уважением Larion.