Код:
procedure TForm1.Button4Click(Sender: TObject);
var
TN : TTreeNode;
S : String;
begin
if (TreeView1.Selected <> nil) and (ListView1.Selected <> nil) then begin
S := '';
TN := TreeView1.Selected;
while TN <> nil do begin
S := TN.Text + S;
TN := TN.GetPrev;
if TN <> nil then
S := '\' + S;
end;
Edit1.Text := S + '\' + ListView1.Items[ListView1.ItemIndex].Caption
end;
end;
Есть, правда, менее извращенный способ, если применять ShelTreeView и ShellListView.