procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin for i:=100 downto 0 do begin memo1.lines.Add(inttostr(i)); end; end;
在for循环中,用于从大数目向小的数目递减循环
当我们需要删除一个列表或序列中的部分或全部条目, 比如在stringlist,combobox,lines,甚至string等等。 如果用for i = a to b do 的话,你会发现列表的内容发生位移, 导致删除内容出错。 这时就是 downto的大好机会。 for i := b downto a do 才能安全有效地删除那些条目。
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i:=100 downto 0 do
begin
memo1.lines.Add(inttostr(i));
end;
end;
比如在stringlist,combobox,lines,甚至string等等。
如果用for i = a to b do 的话,你会发现列表的内容发生位移,
导致删除内容出错。
这时就是 downto的大好机会。
for i := b downto a do 才能安全有效地删除那些条目。
给我了一个很大的提醒。我之前做的从前边删,删不掉,所以就去从新查一遍数据。这样不太好。
这个真是提醒了我。哈哈
没真正理解downto的意思啊
要不然,删除了前面的,后面的序号又重新排了,就会出现outofbounds的错误。