Собственно сабж...<br>Не могу придумать алгоритм, в целом понятно, но как лезу в дебри путаюсь, да и отвлекают постоянно.<br>Может кто кинет в меня алгоритмом по сабжу или готовым отчетом?
Во всех задачках про деревья я пользуюсь рекурсивными алгоритмами.<br>Быстрый пример: http://depositfiles.com/files/4h4abfsz6<br>P.S.<br>> Отвлекают постоянно<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 (генофонд ) по копать...
Ага, я и делаю сейчас через ТЗ, только варианты пронумеровал не так, сделаю как у вас, чтобы меньше расхождений было в реализации задачи, проще понять будет