Вверх ↑
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2008-09-28 18:39:49 ЛС | профиль | цитата
nesco писал(а):
а не вот так ли надо сделать вывод данных

да. Поправил

------------ Дoбавленo:


хочу сделать элемент для поиска по дереву по заданной маске. Работать он должен как SQL запрос с таким синтаксисом:

  exp := [NOT] NODE_INDEX [>,<,=,>=,<=,<>] VALUE
exp := exp [AND,OR] exp
NODE_INDEX := %NODE_NUMBER
NODE_NUMBER := INTEGER
VALUE := [NUMBER,STRING]
NUMBER := [INTEGER,REAL]
STRING := "CHAR_ARRAY"

Пример использования:
есть дерево картежей

Бригадиры|0
Иванов|Денис|36|нет|0
Иванов|Степан|35|да|0
Наемники|1
Cидоров|Максим|30|нет|1
Петров|Костя|25|да|1

тогда поиск всех работников, чей возраст больше 30 лет будет произведен подачей такого запроса
%2 > 30

а вот это поиск всех женатых работников старше 30 лет
%2 > 30 AND %3 = "да"

пока писал, понял, что изменения можно было бы делать похожим образом... Если у кого есть какие соображения просьба изложить
------------ Дoбавленo:

а потом можно чуть и усложнить синтаксис скажем так:

  NODE_INDEX := PARENT.NODE_INDEX
тогда поиск всех женатых работников старше 30 лет и являющихся бригадирами можно осуществить так
%2 > 30 AND %3 = "да" AND parent.%0 = "Бригадиры"
карма: 27
1
Голосовали:Konst