Treeview itemsi stringi alma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Treeview itemsi stringi alma
TreeView Nesnesinde isteğim itemsin string kısmını(adını) nasıl alırım.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kod: Tümünü seç
procedure TForm1.TreeView1Click(Sender: TObject);
var
Node: TTreeNode;
MousePos: TPoint;
begin
MousePos := Mouse.CursorPos;
MousePos := TreeView1.ScreenToClient(MousePos);
Node := TreeView1.GetNodeAt(MousePos.X, MousePos.Y);
if Node = nil then
Edit1.Text := ''
else
Edit1.Text := Node.Text;
end;
hocam bu şekilde alabiliriz tamam ama mesela bir items var adını biliyoruz....şöle bir fonksiyon yazdım
parametre gönderirken
Ben burda node kısmını İstediğim bir items in adını belirterek gönderemedim haliyle hata verdi.ama bir node belirterek o nodeye bir
Bu şekilde aktararak oluyor ama ben isimi belirrterek nasıl gönderirim.parametre belirtirken bir hata yaptım galiba.
Kod: Tümünü seç
function TForm1.treeGuncelle(Anode: TTreeNode;
Listem: TStringList): string;
var
i:integer;
begin
for i:=0 to listem.Count-1 do
begin
form2.TreeView1.Items.AddChild(anode,listem.Strings[i]);
end;
end;
Kod: Tümünü seç
var
liste:TstringList;
begin
liste:=Tstringlist.create;
///////burada listeyi doldurdum...
treeguncelle('Vedat',liste);
Kod: Tümünü seç
node:=form2.TreeView1.Items.Item[1];
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender : TObject);
var
Listem: TStringList;
begin
Listem := TStringList.Create;
Listem.Add('lazio');
// ... stringlist e ekleme yap...
TreeGuncelle('aaaa', Listem); // aaaa isimli noda stringlist i gönder
end;
Kod: Tümünü seç
function TForm1.TreeGuncelle(xNode : string; Listem : TStringList) : string;
var
Node : TTreeNode;
i : Integer;
begin
Node := TreeView1.Items.GetFirstNode;
while Node <> nil do
begin
if Node.Text = xNode then
begin
for i := 0 to listem.Count - 1 do
TreeView1.Items.AddChild(Node, Listem.Strings[I]);
break;
end;
Node := Node.GetNextSibling;
end;
end;
ben ekledim hocam.
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
TreeView1: TTreeView;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function TreeGuncelle(xNode : string; Listem : TStringList) : string;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function TForm1.TreeGuncelle(xNode : string; Listem : TStringList) : string;
var
Node : TTreeNode;
i : Integer;
begin
Node := TreeView1.Items.GetFirstNode;
while Node <> nil do
begin
if Node.Text = xNode then
begin
for i := 0 to listem.Count - 1 do
TreeView1.Items.AddChild(Node, Listem.Strings[I]);
break;
end;
Node := Node.GetNextSibling;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Listem: TStringList;
begin
Listem := TStringList.Create;
Listem.Add('lazio');
// ... stringlist e ekleme yap...
TreeGuncelle('aaaa', Listem); // aaaa isimli noda stringlist i gönder
end;
end.
Kod: Tümünü seç
object Form1: TForm1
Left = 266
Top = 55
Width = 870
Height = 500
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object TreeView1: TTreeView
Left = 48
Top = 56
Width = 121
Height = 97
Indent = 19
TabOrder = 0
Items.Data = {
020000001D0000000000000000000000FFFFFFFFFFFFFFFF0000000000000000
04616161611D0000000000000000000000FFFFFFFFFFFFFFFF00000000000000
000462626262}
end
object Button1: TButton
Left = 240
Top = 104
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 1
OnClick = Button1Click
end
end
Evet hocam şimdi ekledim.Oldu elinize sağlık.
Mesela 1 den fazla ebeveyn items ekli ise treevievde ve bu ebeveynlerin alt dalları var ben birinci değilde 3. ebeveynin altındaki bir alt dala ekleme yapmak istesem nasıl bir yol izleyebiliriz.fikriniz varmı.
Mesela 1 den fazla ebeveyn items ekli ise treevievde ve bu ebeveynlerin alt dalları var ben birinci değilde 3. ebeveynin altındaki bir alt dala ekleme yapmak istesem nasıl bir yol izleyebiliriz.fikriniz varmı.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Aşağıdaki kod Parent yada Child olup olmadığı farketmez, Node tutuyorsa ekler...
Kod: Tümünü seç
function TForm1.TreeGuncelle(xNode : string; Listem : TStringList) : string;
var
tmpNode, Node : TTreeNode;
SubStatus : Boolean;
begin
SubStatus := True;
Node := TreeView1.Items.GetFirstNode;
while Node <> nil do
begin
if Node.Text = xNode then
begin
Ekle(Node, Listem);
break;
end
else if (Node.HasChildren) and (SubStatus) then
begin
Node := Node.getFirstChild;
Continue;
end
else
begin
tmpNode := Node;
Node := Node.GetNextSibling;
SubStatus := True;
if Node = nil then
begin
Node := tmpNode;
Node := Node.Parent;
SubStatus := False;
end;
Continue;
end;
Node := Node.GetNextSibling;
end;
end;