Цитата:
Сообщение от StormMan
...Как сделать так чтобы при добавлении узлов дерева Родителям и дочерним ветками присваивалась сквозная нумерация...
|
Наверное нужно было перебирать используя
HasChildren высчитывая индексы, но для упрощения сборки появилось всё таки это
Код:
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;
перебираются все узлы и их потомки (для увеличения глубины нужно ещё циклы repeat вкладывать), поэтому, если их будет много, то...
