listbox删除多余行,代码如下
procedure TForm1.Button2Click(Sender: TObject);
var
i,j,k : integer;
begin
for i := 0 to listbox1.Items.Count - 1 do
for j := 0 to listbox1.Items.Count - 1 do
for k := 0 to listbox1.Items.Count - 1 do
begin
if (listbox1.Items[i] = listbox1.Items[j]) and (i<>j) then //判断是否有相等的
listbox1.Items.Delete(j); //删除重复
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i,j,k : integer;
begin
for i := 0 to listbox1.Items.Count - 1 do
for j := 0 to listbox1.Items.Count - 1 do
for k := 0 to listbox1.Items.Count - 1 do
begin
if (listbox1.Items[i] = listbox1.Items[j]) and (i<>j) then //判断是否有相等的
listbox1.Items.Delete(j); //删除重复
end;
end;
解决方案 »
- richEdit可以设置某一行某几个字的字体颜色,请问能设置某一行的某几个字的背景颜色吗?
- fastreport打印预览时的问题
- 请问DELPHI中画图函数名称?
- 请问如何使动态生成的Button产生onclick事件,不能用绑定的方法
- 谁来帮我写个函数?
- 由于Delphi是初学,想用纯window socket 编写通信程序,在delphi里用window api是遇到问题,请指点
- 如何在DELPHI里打开记事本的同时,也打开指定路径的.txt文件
- 数据库时间问题
- 有没有接收IDhttp.post的ASP页面的例子?
- 做报表!!!!!!!!!
- delphi中图像灰度化怎么解决啊?!!!
- 关于线程的检测
for i := listbox1.Items.Count - 1 to 0 do
...后面的j,k也是一样的改
for i := ListBox1.Items.Count - 1 downto 0 do
begin
for j := 0 to i - 1 do
begin
if ListBox1.Items[i] = ListBox1.Items[j] then
begin
ListBox1.Items.Delete(i);
Break;
end;
end;
end;记得用downto 不然你删掉一个条目后count就变了,由下至上的拿自己和自己以上的条目比较,如果存在相等的条目,就删除自己。