Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сортировка чисел в виде строк с иерархической структурой [D6, IB6.x]


Виктор Исмагилов ©   (2004-04-10 15:00:00) 

Не подскажет ли кто нибудь решение такой проблемы:
имеется поле БД, в котором представлены некоторые реестровые номера объектов в виде 'Объект/подобъект/...', т.е.
1
2
2/1
2/1/1
2/2
3
3/1
и т. д. Номера могут добавляться и удаляться в случайном порядке. При таком формате отображения поле естественно стриноговое. Заказчик требует, что бы данные в сетке отображались именно в таком иерархически возрастающем порядке, но поскольку это строки, то сортируются они в виде
1
10
10/1
2
20 и т.д. Не подскажет ли кто нибудь алгоритм, как можно их отсортировать в виде иерархического дерева. Заранее благодарен.


Digitman   (2004-04-10 16:29:00) [1]

да и в случае возможности добавить в таблицу одно технол.поле (для послед.сортировки по нему) и пару триггеров (формирующих поле) оч желательно не отказываться от UDF, которая значительно эффективней справится хотя бы с задачей парсинга строки


Digitman   (2004-04-10 16:24:00) [2]


> Виктор Исмагилов  


если кол-во уровней иерархии ограничено, то в случае невозможности изменить структуру базы UDF будет вполне изящным и эффективным решением


Desdechado   (2004-04-10 16:03:00) [3]

1. написать UDF, которая корректно разбирает содержимое поля и выдает признак для сортировки
2. изменить структуру БД для хранения иерархии


Наверх

Титульная страница Поиск, карта сайта Написать письмо