![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый день уважаемые программисты. На форме есть компонент Treeview, два Edit (1 для родителя, 2 для дочерней ветки) и три Button (Добавить родителя, добавить дочернюю ветвь, третья удалить выделенный узел).
Как сделать так чтобы при добавлении узлов дерева Родителям и дочерним ветками присваивалась сквозная нумерация вот так: 1. Цвет 1. Красный2. Фигура 1. Квадрат3. Узел 1. УзелИ при удалении узла (либо родителя либо дочерней) к пример "Красный" и "Фигура" , получится так: 1. Цвет 1. Синий2. Узел 1. Узел |
|
#2
|
||||
|
||||
|
Цитата:
Код:
function NumStr(ds: string; vs: integer): string;
begin
Result:= IntToStr(vs) + Copy(ds, Pos('.', ds), Length(ds));
end;
procedure TMainForm.Button1Click(Sender: TObject);
var
i, b : integer;
tn, Child: TTreeNode;
begin
// на примере удаления
TreeView1.Items.Delete(TreeView1.Selected);
// или add
{............}
i:= 1;
if TreeView1.Items[0] <> nil then
begin
tn:= TreeView1.Items[0]; // Переименование корневых узлов
repeat
tn.Text:= NumStr(tn.Text, i);
b:=0;
Child:= tn.GetFirstChild; // Детишек корня
repeat
inc(b);
Child.Text:= NumStr(Child.Text, b);
Child := tn.GetNextChild(Child);
until Child = nil;
tn:= tn.GetNextSibling;
inc(i);
until tn = nil;
end;
end;![]() |