list循环问题
如果列表为空
for i:=0 to list.count -1
这样就不循环了
如果不减一,又怕越界,怎么办?
[解决办法]
repeat ShowMessage('aa'); until list.count = 0 ;
[解决办法]
既然是空的.还循环它做啥?
想要空的也至少循环一次,那就用repeat until
[解决办法]
if List.Count > 0 then for i:=0 to list.count -1 begin {......} end;
[解决办法]
其实用 for in 比较好一点
procedure TForm1.Button1Click(Sender: TObject);var List: TStringList; s: string;begin List := TStringList.Create; for s in List do ShowMessage(s); List.Free;end;procedure TForm1.Button2Click(Sender: TObject);var List: TList; p: Pointer;begin List := TList.Create; for p in List do ShowMessage(IntToStr(Integer(P))); List.Free;end;
[解决办法]
for i:= list.count -1 downto 0 do
[解决办法]
i := 0;repeat ShowMessage(IntToStr(i)); Inc(i)until i > list.count-1;
[解决办法]
for in 得高版本的才支持