Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];

Вниз

Сохранение TreeView в HTML-формате   Найти похожие ветки 

 
Колдун ©   (2006-10-31 23:00) [0]

Есть дерево (TreeView), стоит задача сохранить его содержимое в HTML-формате (в виде ненумерованного списка). Подскажите, пожалуйста, как это сделать.


 
palva ©   (2006-10-31 23:07) [1]

Написать рекурсивную процедуру с выводом в текстовый файл. Если потребуется сворачивать и разворачивать ветки дерева, то надо будет использовать небольшой JavaScript.


 
Колдун ©   (2006-10-31 23:10) [2]

Нет, сворачивать/разворачивать не надо. Могу ттакже заметить, что с идеей рекурсии вы отнюдь не первый (первый я :) ). Вопрос: как будет выглядеть эта самая рекурсия (хотя бы примерный алгоритм)?


 
Sam Stone ©   (2006-10-31 23:17) [3]

примерно так:
процедура ааа(узел)
начало
 если узел!=нил
   для и от 0 до узел.кол-во-1 бегин
     засунуть в хтмл узел.итем[и]
     ааа(узел.итем[и])
   энд
конец

если где-то накосячил - я не виновал :)


 
palva ©   (2006-10-31 23:18) [4]

Как-нибудь так:
procedure vvv(узел)
begin
 печать начала списка <OL>
 foreach child of узел do begin
   if child имеет дочерние then vvv(child)
   else печать <LI>child.text</LI>
 end
 печать конца списка </OL>
end;


и обратиться к этой процедуре

v(корень)


 
palva ©   (2006-10-31 23:19) [5]

Sam Stone ©   (31.10.06 23:17) [3]
Продай телепатор


 
Sam Stone ©   (2006-10-31 23:21) [6]

> [5] palva ©   (31.10.06 23:19)

талант не пропьешь, не продашь )))

ЗЫ

> foreach child of узел do begin

не всякая дельфя скушает ))


 
Колдун ©   (2006-10-31 23:22) [7]

Как я понимаю, тип узла - TTreeNode?


 
Sam Stone ©   (2006-10-31 23:24) [8]

> [7] Колдун ©   (31.10.06 23:22)

угу. Он зависит только от компонента и какой там нод напридумали разработчики


 
Колдун ©   (2006-10-31 23:25) [9]

А во-вторых... Чем можно заменить ваш замечательный for each?


 
Sam Stone ©   (2006-10-31 23:27) [10]

> [9] Колдун ©   (31.10.06 23:25)

см. мой вариант ) у меня обычный фор ^_^


 
Колдун ©   (2006-10-31 23:35) [11]

Алгоритм некорректен - выскакивают лишние ОЛ"ы+не показывает начало списка


 
Gero ©   (2006-10-31 23:37) [12]

> [11] Колдун ©   (31.10.06 23:35)

Значит исправь, чтобы был корректен.


 
Sam Stone ©   (2006-10-31 23:38) [13]

> [11] Колдун ©   (31.10.06 23:35)

ну знаешь... тебе дали набросок. Бери напильник, обрабатывай.


 
Колдун ©   (2006-10-31 23:40) [14]

Напильником доработал... Понял, почему - впечатыватся только то, у чего НЕТ потомков. куда добавить строку впечатывания тех,у которых есть дети?


 
Орион ©   (2006-10-31 23:41) [15]

> [0] Колдун ©   (31.10.06 23:00)

Можно написать наследника TTreeView с методом SaveToFileHtml(AFileName: string);


 
Sam Stone ©   (2006-10-31 23:43) [16]

> [14] Колдун ©   (31.10.06 23:40)

добавить условие - если Node.HasChildren (или что-то подобное), то писать в хтмл.

> [15] Орион ©   (31.10.06 23:41)

тогда уж сразу взять готовый компонент )


 
Колдун ©   (2006-10-31 23:47) [17]

Ффсе. спасибо ОГРОМНОЕ всем. Я сделал! насчет написания метода подумаю=)))



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.04 c
2-1162479656
horse
2006-11-02 18:00
2006.11.19
Открыть почтового клиента


15-1162202026
IMHO
2006-10-30 12:53
2006.11.19
Как нужно есть?


2-1162329515
MegaNop
2006-11-01 00:18
2006.11.19
Совпадение позиций


2-1162537219
WhiteBarin
2006-11-03 10:00
2006.11.19
Как сделать чтобы при загрузке была доступна только моя программа


9-1137507692
kavis
2006-01-17 17:21
2006.11.19
адресный регистр





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский