As Bart suggested, you can use too the for/in loop: for s in sl do
WriteLn( s);
For example:
var
sl: TStringList;
s: String;
begin
sl:= TStringList.Create;
try
sl.Add('1');
sl.Add('2');
for s in sl do WriteLn( s);
finally
FreeAndNil( sl);
end;
end.
Output:
1
2
This works on arrays and strings too.