Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Treeview


Автор: DIMONSOFT 12.3.2005, 21:11
Код

function SrNodeTree(pTreeNode: TTreeNode; var sRuta: string): string;  
begin  
  sRuta := pTreeNode.Text + '/' + sRuta;
  if pTreeNode.Level = 0 then Result := sRuta  
  else   
    Result := SrNodeTree(pTreeNode.Parent, sRuta);  
end;

Пример:
- Дельфи
- WinAPI
работа с....
После выполнения кода получаю следующее:
Дельфи/WinAPI/работа с..../
Вопрос: Надо чтобі работало так:
Дельфи/WinAPI/работа с....

Автор: NiJazz 12.3.2005, 21:41
DIMONSOFT
Код

Delete(sRute, length(sRuta), 1);

Точный синтаксис не помню, но суть та же.

Автор: Alex 12.3.2005, 23:43
Код

function GetTVPath(Node: TTreeNode; Separator: Char): String;
// Возвращает полный путь к элементу в TreeView
// Separator - разделитель
begin
  Result:= '';
  if Node = nil then exit;
  while Node <> nil do begin
    Result:= Node.Text + Separator + Result;
    Node:= Node.Parent;
  end;
  if Length(Result) <> 0 then Delete(Result, Length(Result), 1);
end;
// -----------------------------------------------------------------
procedure GetListTVNode(SelNode: TTreeNode; List: tStrings; Separator: Char);
// Возвращает список подчиненных элементов к SelNode
// Separator - разделитель
  procedure ScanNodes(Node: TTreeNode; path: String);
  begin
    Node:= Node.GetFirstChild;
    while Node <> nil do begin
      if Node.HasChildren then
        ScanNodes(Node, path + Separator + Node.Text)
      else
        List.Add(       path + Separator + Node.Text);
      Node:= Node.getNextSibling;
    end;
  end;

begin
  List.BeginUpdate;
  try
    List.Clear;
    if SelNode = nil then Exit;
    if SelNode.HasChildren then
      ScanNodes(SelNode, SelNode.Text)
    else
      List.Add(SelNode.Text);
  finally
    List.EndUpdate;
  end;
end;

Автор: Alex 12.3.2005, 23:43
Перенесено из раздела Дельфи

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)