Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Алгоритм реализации парсера

Разработка методов построения дерева | Комплексная проверка разработанных методов | Порядок выполнения работы | OpenPictureDialog1. |


Читайте также:
  1. I. Социальная стабильность как фактор реализации целей СП
  2. II. Механизмы реализации СП
  3. III. Мониторинг эффективности Реализации Программы
  4. IV. Экономические интересы и механизм их реализации
  5. V. Этапы реализации Концепции
  6. XII. Требования к условиям реализации Программы и срокам обучения
  7. Алгоритм выбора гипотензивного лекарственного средства для парентерального введения при лечении осложненного гипертонического криза

Лабораторная работа

(Визуальное построение B-дерева в компоненте TreeView)

Постановка задачи

Пусть у нас существует главная таблица индексов Ti, описывающая некоторую аналитику документа. Структура данных таблицы реализована классическим B- деревом, где каждая запись представлена полями:

Нашей задачей является создание дешифратора (вычислителя узлов и ветвей дерева – парсера), отображающего данные в виде древовидной структуры, подобной проводнику Windows, а также интерактивное (визуальное) построение древовидной структуры документа, соответствующего его аналитике.

Алгоритм реализации парсера

Определим, что корнем или корнями документа отношения ParentID:ID, при:

ParentID=0 и ID = 1,2,3,…,n-1,n.

 

Равенство значений параметра ParentID = ParentID определяет, новый узел или достраиваемую ветвь, то есть ветвь, к какой отыскиваются дочерние ветви.

Условием идентификации корней является условие, при котором над головным узлом нет других узлов:

IF Node = nil Then ID:=0 Else ID:=Integer(Node.Data). Для каждой записи набора данных Ti формируется ветвь, отображающая в построителе дерева TreeView созданную или раскрытую дочернюю ветвь (узел): TreeView.Items.AddChildObject(Node, Ti.FieldByName('Name').AsString, Pointer(Ti.FieldByName('ID').AsInteger)); при этом для раскрытия узла создается фиктивная ветвь: TreeView.Items.AddChildObject(TreeNode, '', nil); которая, в последующем удаляется: IF Node.getFirstChild.Data = nil Then Node.DeleteChildren.

Дата добавления: 2015-09-01; просмотров: 55 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Приложение 7| Дизайн проекта

mybiblioteka.su - 2015-2024 год. (0.006 сек.)