Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / "Привить" дерево к дереву / 7 сообщений из 7, страница 1 из 1
01.12.2011, 15:25
    #37554308
UAP
UAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Привить" дерево к дереву
Уважаемые коллеги!

В таблице Т1 хранится дерево Д1, в таблице Т2 хранится дерево Д2.
Обе таблицы "однотипны", поскольку созданы ОДНОЙ программой.
У каждой таблицы есть корень, соответственно К1 и К2.
В Д1 создаем новый узел У1 (где угодно).
Как сделать так, чтобы У1 стал К2.
Это "прививка" Д2 на Д1 в У1.

Пожалуйста, поделитесь со мной идеями.
...
Рейтинг: 0 / 0
01.12.2011, 16:10
    #37554426
SSn888
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Привить" дерево к дереву
UAP,

Простите, экстрасенсорный модуль отдал в ремонт - немного барахлить стал.
Таблицы - в студию
Или описание таблиц, ключей - в хорошо проваренном виде
...
Рейтинг: 0 / 0
01.12.2011, 16:24
    #37554464
UAP
UAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Привить" дерево к дереву
SSn888 !

Как всегда Т (Порядковый номер, Ссылка на порядковый номер материнской записи, Полезная информация)
...
Рейтинг: 0 / 0
01.12.2011, 16:36
    #37554500
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Привить" дерево к дереву
Это все о чем? Об изменении содержимого таблиц или о наполнении объекта TreeView на форме? Вам надо "скопировать" (с изменением кодов) содержимое таблицы Т2 в таблицу Т1 или просто отобразить подчиненность на форме?

Для справки: Проход по дереву - это рекурсия. Функция, вызывающая сама себя. Вопросов по перебору элементов дерева в данном форуме было полно. Надо только адаптировать все ту же рекурсию под Вашу задачу.
...
Рейтинг: 0 / 0
01.12.2011, 18:29
    #37554763
UAP
UAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Привить" дерево к дереву
Уважаемый ВладимирМ!

Речь НЕ о TreeView.
Я только что сообразил как это делать, а Вы уже сформулировали идею.
Ключевое слово идеи как вы сказали - изменить коды "прививаемой" таблицы (импортируемой).
На мой взгляд, алгоритм таков.

Пусть место "прививки" имеет коды (n,m).
Нетрудно понять, что Корень "прививаемого" дерева имеет коды (0,0).
Понятно, что n-0=n.
Следовательно, во второй таблице к первому и второму кодам во всех записях нужно прибавить n.
После этого в Т1 сделать APPEND FROM Т2.

И все (ну, почти все).
...
Рейтинг: 0 / 0
01.12.2011, 21:46
    #37555009
SSn888
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Привить" дерево к дереву
UAPУважаемый ВладимирМ!

Речь НЕ о TreeView.
Я только что сообразил как это делать, а Вы уже сформулировали идею.
Ключевое слово идеи как вы сказали - изменить коды "прививаемой" таблицы (импортируемой).
На мой взгляд, алгоритм таков.

Пусть место "прививки" имеет коды (n,m).
Нетрудно понять, что Корень "прививаемого" дерева имеет коды (0,0).
Понятно, что n-0=n.
Следовательно, во второй таблице к первому и второму кодам во всех записях нужно прибавить n.
После этого в Т1 сделать APPEND FROM Т2.

И все (ну, почти все).

1. Ну, практика показывает, что после слов ВладимираМ вообще сложно что-то прибавить, потому как он говорит все, что оптимально нужно на уровне снайпера :)
2. ага, прибавляйте... но не забудьте про риск появления дубликатов в результате сложения и имющегося в дичке, к которому прививаете.
...
Рейтинг: 0 / 0
02.12.2011, 01:29
    #37555171
UAP
UAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Привить" дерево к дереву
Уважаемый SSn888 !

Вы правы по всем пунктам.

Но я то каков ! ?

Надо такие цели формулировать, чтобы Снайпер из укрытия вылез.

И пальнул ...

Снайпер знает когда стоющая цель.

Вот где высший пилотаж !!!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / "Привить" дерево к дереву / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]