Um bom artigo você encontra em:
http://www.devmedia.com.br/articles/viewcomp.asp?comp=1587
Compare os dois códigos abaixo:
Pré for..in..do:
procedure TForm1.Button1Click(Sender: TObject); var teste : array of string; item : string; i : Integer; begin SetLength(teste,5); teste[0] := 'Item 0'; teste[1] := 'Item 1'; teste[2] := 'Item 2'; teste[3] := 'Item 3'; teste[4] := 'Item 4'; for i := Low(teste) to High(teste) do begin item := teste[i]; ShowMessage(item); end; end;
Pós for..in..do:
procedure TForm1.Button2Click(Sender: TObject); var teste : array of string; item : string; begin SetLength(teste,5); teste[0] := 'Item 0'; teste[1] := 'Item 1'; teste[2] := 'Item 2'; teste[3] := 'Item 3'; teste[4] := 'Item 4'; for item in teste do ShowMessage(item); end;