Текущий архив: 2004.05.30;
Скачать: CL | DM;
Внизtree и Data Найти похожие ветки
← →
dim- © (2004-05-12 16:13) [0]Делаю так:
type mystrtype=record
uin:string;
end;
...
procedure Tadmins.getExpandingItems(var node:ttreeNode);
var newnode:ttreeNode;
boss:mystrtype;
begin
if node=nil then
boss.uin:=""
else begin
boss.uin:=mystrtype(node.Data).uin;
end;
tree.Close;
tree.CommandText:="Select * from users_id Where (grup="+#39+boss.uin+#39+")" ;
tree.Open;
if node<>nil then node.DeleteChildren
else treeView1.Items.Clear;
tree.First;
while not tree.Eof do begin
newnode:=treeView1.Items.AddChild(node,tree.FieldByName("name").asstring);
boss.uin:=tree.FieldByName("uin").asstring ;
NewNode.Data:=Pointer(boss);
if tree.FieldByName("child").AsBoolean then
newnode.HasChildren:=true;
tree.Next;
end;
end;
первый уровень делает нормально, а далее не возвращает (NewNode.Data ничего не возвращает)
← →
Соловьев © (2004-05-12 16:54) [1]
> а далее не возвращает (NewNode.Data ничего не возвращает)
type
Pmystrtype = ^mystrtype;
...
var
boss: Pmystrtype;
begin
...
New(boss);
boss^.uin := tree.FieldByName("uin").asstring ;
NewNode.Data := boss;
...
И не забудь освободить память. Используй событие OnDeletion
← →
Курдль © (2004-05-12 16:56) [2]А кто такой tree.CommandText?
← →
dim- © (2004-05-12 17:15) [3]Соловьев © спасибо, работает, только строка возвращается не та которую помещаю. Помещаю "F3C91AE1-EBB3-45D0-AAF8-BF26C5E0B3FB" получаю "щ{Ж#0#$C...
← →
Соловьев © (2004-05-12 17:20) [4]
> только строка возвращается не та которую помещаю
как считываешь?
← →
dim- © (2004-05-12 17:24) [5]boss^.uin:=mystrtype(node.Data).uin;
← →
Соловьев © (2004-05-12 17:26) [6]
> dim- © (12.05.04 17:24) [5]
boss.uin:=Pmystrtype(node.Data).uin;
← →
dim- © (2004-05-12 17:34) [7]Чего то не получается
type pboss=mystrtype;
var newnode:ttreeNode;
boss:^pboss;
begin
New(boss);
if node=nil then
boss.uin:=""
else begin
boss.uin:=pboss(node.Data).uin;
end;
tree.Close;
tree.CommandText:="Select * from users_id Where (gruppa="+#39+boss.uin+#39+")" ;
tree.Open;
if node<>nil then node.DeleteChildren
else treeView1.Items.Clear;
tree.First;
while not tree.Eof do begin
newnode:=treeView1.Items.AddChild(node,tree.FieldByName("name").asstring);
boss.uin:=tree.FieldByName("uin").asstring ;
NewNode.Data:=boss;
if tree.FieldByName("child").AsBoolean then
newnode.HasChildren:=true;
tree.Next;
end;
← →
Курдль © (2004-05-12 17:34) [8]Есть разница между этими записями?
NewNode.Data:=Pointer(boss);
?
NewNode.Data:=Ptr(boss);
← →
Соловьев © (2004-05-12 17:37) [9]
> New(boss);
> if node=nil then
> boss.uin:=""
> else begin
> boss.uin:=pboss(node.Data).uin;
> end;
Какого????
New перенеси за
newnode:=treeView1.Items.AddChild(node,tree.FieldByName("name").asstring);
var str_uin: string;
...
str_uin :=pboss(node.Data).uin;
...
tree.CommandText:="Select * from users_id Where (gruppa="+#39+str_uin+#39+")" ;
...
← →
dim- © (2004-05-12 17:55) [10]перенес без результата
if node=nil then
srt_pr:=""
else begin
srt_pr:=pboss(node.Data).uin;
end;
tree.Close;
tree.CommandText:="Select * from users_id Where (gruppa="+#39+srt_pr+#39+")" ;
tree.Open;
if node<>nil then node.DeleteChildren
else treeView1.Items.Clear;
tree.First;
while not tree.Eof do begin
newnode:=treeView1.Items.AddChild(node,tree.FieldByName("name").asstring);
New(boss);
boss.uin:=tree.FieldByName("uin").asstring ;
NewNode.Data:=boss;
if tree.FieldByName("child").AsBoolean then
newnode.HasChildren:=true;
tree.Next;
end;
← →
Соловьев © (2004-05-12 18:06) [11]
> newnode:=treeView1.Items.AddChild(node,tree.FieldByName("name").asstring);
> New(boss);
> boss.uin:=tree.FieldByName("uin").asstring ;
> NewNode.Data:=boss;
я бы сделал по другому:
...
New(boss);
boss^.uin := tree.FieldByName("uin").asstring;
newnode:=treeView1.Items.AddChildObject(node,tree.FieldByName("name").asstring,boss);
...
И еще:
tree.CommandText:="Select * from users_id Where (gruppa="+#39+srt_pr+#39+")" ; // точно выбор детей?
gruppa - индекс родителя?
← →
Соловьев © (2004-05-12 18:15) [12]2 dim- ©
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=488
почитай... поучительно
← →
dim- © (2004-05-12 22:44) [13]Все-таки что то не так, строка не передается, может проблема в стринге?
Самое обидное что когда-то я такое делал, но найти не могу.
← →
Vlad © (2004-05-12 23:19) [14]type
boss=^mystrtype;
mystrtype=record
uin:string;
end;
....
← →
dim- © (2004-05-13 08:38) [15]спасибо Vlad
Страницы: 1 вся ветка
Текущий архив: 2004.05.30;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.037 c