Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.19;
Скачать: CL | DM;

Вниз

Сохранение 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.034 c
6-1151431213
anton773
2006-06-27 22:00
2006.11.19
докачка файлов


2-1162203111
Still Swamp
2006-10-30 13:11
2006.11.19
Как получиьт разницу времени локального и GMT


2-1162197366
Piero
2006-10-30 11:36
2006.11.19
TDBLookUpComboBox


1-1160130078
Ш-К
2006-10-06 14:21
2006.11.19
Сохранение MSWord документа в формате HTML


15-1162295205
Gydvin
2006-10-31 14:46
2006.11.19
mp3 плеер - T.sonicTM 510