Построение дерева номенклатуры 7.7

Новая тема
Собственно сабж...<br>Не могу придумать алгоритм, в целом понятно, но как лезу в дебри путаюсь, да и отвлекают постоянно.<br>Может кто кинет в меня алгоритмом по сабжу или готовым отчетом?
Во всех задачках про деревья я пользуюсь рекурсивными алгоритмами.<br>Быстрый пример: http://depositfiles.com/files/4h4abfsz6<br>P.S.<br>&gt; Отвлекают постоянно<br>Меня тоже все время интересует вопрос, почему когда я сижу и придумываю как разрулить задачку, те, кто ее задал, считают возможным сесть рядом и пообщаться друг с другом по поводу того сколько стоит съездить в отпуск в какую нибудь Турцию? Им не приходит в голову, что мне это мешает? :)
> Во всех задачках про деревья я пользуюсь рекурсивными алгоритмами.<br>Прошлый свой заход/попытку реализовать таки дерево я то же с применением рекурсии делал, но опять же "дернули" в бухгалтерию отчет модифицировать @#%$%^ и процесс стал...<br>> Им не приходит в голову, что мне это мешает?<br>Я даже прямым текстом говорил, но не помогает - "А ты не обращай внимания..." ответ.<br>Посмотрел пример. Да дерево, но хочется реализовать как в справочнике, в форме списка дерево групп.<br>То есть с<br>|-<br>|_<br>и т.п.<br>А то замучился PrentScreen'ом копии экрана снимать, а потом в Corel'е собирать...
Еще разок пример посмотрите внимательнее, я там для этого и сделал вывод "распорки" (вертикальная секция с названием "Узкая") и каждый уровень справочника выводится с требуемым отступом, на самом деле там не "в кучу". Осталось только картинки веток нарисовать навставлять их в шаблон печатной формы.
Это понятно, но я когда реализовал, наткнулся на то, что нужно отслеживать последний элемент в группе и соответственно выводить ему не<br>|-<br>а<br>|_<br>а так же местами вместо<br>|  |  |<br>|  |  |<br>|  |  |<br>выводить<br>|     |<br>|     |<br>|     |<br>то есть отсеивать не существующие ветви...<br>Вот тут и запнулся...
Ага, понял, сейчас посмотрю<br>Все ведет к тому, что придется предварительно собрать элементы в какую то структуру, а уж потом выводить их, прямым проходом по справочнику как то сложновато определять является ли элемент последним в выборке подмножества и являются ли его родители последними в своих выборках, а это нужно для того чтобы корректно решать как полоски рисовать
Я так думаю загнать иерархическую структуру справочника сначала в ТЗ, обработать ее подобно:<br>0 - нет ничего<br>1 - |<br>2 - |-<br>3 - |_<br>и потом уже формировать печатную форму на ее основе<br>Надо как нибудь по пробовать<br>Можно глянуть в ТиС обработку ДеревоДокументов...<br>Можно в vcl Delphi (генофонд :)) по копать...
Ага, я и делаю сейчас через ТЗ, только варианты пронумеровал не так, сделаю как у вас, чтобы меньше расхождений было в реализации задачи, проще понять будет
Вот что вышло:<br>http://depositfiles.com/files/vvax3si0q<br>кто сделает проще, тому медаль :)
+100500!!!<br>Про использование маски я и не думал...<br>Оказалось все проще чем я представлял...<br>Спасибо!
Читают тему
(гостей: 1)

Быстрый переход