procedure TForm1.SpeedButton5Click(Sender: TObject);
var
a:array of Ttreenode;
node:TTreenode;
i,j,count:integer;
s:string;
begin
i:=0;j:=0;
Count:=Treeview1.Items.Count;
setlength(a,Count);
node:=Treeview1.TopItem;
while node<>nil do
begin
a[i]:=node;
node:=node.getNextSibling;
i:=i+1;
end;
j:=i-1;
i:=0;
while i<Count do
begin
node:=a[i].getfirstchild;
while node <> nil do
begin
j:=j+1;
a[j]:=node;
node:=node.getNextSibling;
end;
i:=i+1;
end;
//以下用于集中输出,当然也可以在中间输出
for i:=0 to Count-1 do
begin
// 我添加了下面这行就出错了
if a[i].Level<=0 then s:='' else fillchar(s,j*5,' ');
////////////////////////////////////////////////////////
listbox1.Items.Add(a[i].text);
//我如果把上面两句改成 listbox1.Items.Add(inttostr(a[i].Level));确可以运行
end;end;
var
a:array of Ttreenode;
node:TTreenode;
i,j,count:integer;
s:string;
begin
i:=0;j:=0;
Count:=Treeview1.Items.Count;
setlength(a,Count);
node:=Treeview1.TopItem;
while node<>nil do
begin
a[i]:=node;
node:=node.getNextSibling;
i:=i+1;
end;
j:=i-1;
i:=0;
while i<Count do
begin
node:=a[i].getfirstchild;
while node <> nil do
begin
j:=j+1;
a[j]:=node;
node:=node.getNextSibling;
end;
i:=i+1;
end;
//以下用于集中输出,当然也可以在中间输出
for i:=0 to Count-1 do
begin
// 我添加了下面这行就出错了
if a[i].Level<=0 then s:='' else fillchar(s,j*5,' ');
////////////////////////////////////////////////////////
listbox1.Items.Add(a[i].text);
//我如果把上面两句改成 listbox1.Items.Add(inttostr(a[i].Level));确可以运行
end;end;
解决方案 »
- 怎么样动态创建窗体
- TDataLink的问题
- 申请Delphi版大版主
- 这好象是delphi的bug,大家进来看看,到底是怎么一回事。能解决的重谢!
- 我想用sql语句挑选出两个数值之间的记录,怎么做?
- ISAPI不能读网络映射盘的问题
- MessageBox(),我想实现对话框上有4个按钮:[yes] [all yes] [no] [all no]。其实是类似卸载软件时,如果有dll,系统出的提示那种。
- 我用FetchOnDemand和PacketRecords属性建立数据分段,每次下载2条记录,用怎样的代码能让客户端知道已经下载完所有的记录了呢?
- 如何将一个长的字符串拆分成几个字符串?
- iis错错误
- 请问如何在delphi 7 中用 Qreprot
- 怎样取指定长度的字符串
begin
// 我添加了下面这行就出错了
if a[i].Level<=0 then s:='' else fillchar(s,j*5,' ');
////////////////////////////////////////////////////////
listbox1.Items.Add(a[i].text);
//我如果把上面两句改成 listbox1.Items.Add(inttostr(a[i].Level));确可以运行
end;