Tree.CopyTo

From SunFlurry wiki
Revision as of 08:54, 7 February 2021 by Admin (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  CopyTo (Копирование данных)
Объект:Дерево
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число, неверный индекс.
Визуальность:Нет

Применимо к объектам ветки и дерева. Функция осуществляет копирование значений дочерних веток текущего объекта в указанный объект (другого дерева, списка или таблицы значений).

Синтаксис

Tree.CopyTo(<Объект в который происходит копирование>,<Индекс начальной ветки копирования (INT),<Количество веток для копирования (INT)>)

Аргументы

  • <Объект в который происходит копирование> - (возможен аргумент-переменная (ByRef)) Аргумент задает объект, в который будет происходить копирование. Аргумент должен представлять собой переменную, переменная может иметь следующий тип данных:
    • Список значений: Каждая ветка текущего уровня добавляется в список последовательно (добавляется наименование, статус галки, иконка, значение). Если текущая ветка содержит подчиненные ветки, вместо значения в список добавляется новый список, для которого выполняется рекурсивная процедура копирования с ветками, подчиненными данной.
    • Таблица значений: В таблицу значений добавляется новый столбец без имени, для каждой копируемой ветки, в таблицу добавляется строка, в новый столбец копируются значение, иконка и статус галки текущей ветки. Подчиненные ветки текущей ветки игнорируются.
    • Дерево: Происходит копирование структуры из текущего объекта в указанное дерево, текущая структура дерева сохраняется, новые ветки будут добавлены без удаления существующих.
    • Ветка дерева: Происходит копирование структуры из текущего объекта в указанную ветку дерева, текущая структура ветки сохраняется, новые ветки будут добавлены без удаления существующих.
    • Переменная другого типа: Значение переменной будет очищено и будет создано новое пустое дерево, затем будет выполнена процедура копирования, описанная выше.
  • <Индекс начальной ветки копирования (INT)> - (необязательный аргумент) Индекс подчиненной ветки, с которой начинается копирование. По умолчанию, копирование начинается с первой подчиненной ветки.
  • <Количество веток для копирования (INT)> - (необязательный аргумент) Количество копируемых веток. По умолчанию, копируются ветки с начальной до конечной.


Примеры

aTree:=Tree.Create();
aBranch1:=aTree.Add(1,"Ветка 1");
aBranch1.Add(2,"Ветка 1.1");
aTree.Add(3,"Ветка 2");
bTree:=Tree.Create();
aTree.CopyTo(bTree,1,1);

//Будет выведено 2
Message("Значение ветки 1.1: "+bTree.ByIndex(1).ByIndex(1).Value);