数据过滤(50分)

  • 主题发起人 主题发起人 fee
  • 开始时间 开始时间
F

fee

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现这样的功能:
listbox1中放的是要清除数据,如(3,5,8),memo1中放的是所有
数据如(0,1,2,3,4,5,6,7,8,9),现在我想清除listbox1中
的数据,使得memo1中变为(0,1,2,4,6,7,9),应怎么办?
请问下列程序错在那里?
for i:=0 to listbox1.items.count-1do
begin
memo1.Lines.Delete(memo1.Lines.IndexOf(listbox1.Items.Strings));
end;
 
问题处在出现了: Delete(-1)
这样就行了:
var i,j: integer;
begin
for i:=0 to listbox1.Items.count-1do
begin
j := memo1.Lines.IndexOf(listbox1.Items.Strings);
if j>=0 then
memo1.Lines.Delete(j);
end;
end;
 
哈哈。
要倒过来del.
for i:=(listbox1.items.count-1)downto 0do
 
与顺序无关,而是Delete(-1)会把CaretPos之前的内容都删掉
 
有人试过运行吗? 他不是删出想删除的内容:(
 
我当然是试过的,只要避免出现Delete(-1),没一点问题.
我又试了一遍我上面的代码,好着呢呀.
祝你好运!
 
多人接受答案了。
 
后退
顶部