Man könnte grundsätzlich gleich in der procedure xxxx.Create folgende Zeile aufnehmen:
for i := 0 to 999 do Memo1.Lines.Add('');
Dann funktioniert der Code in #1 problemlos.
Alternative:
Man hängt an jedes String-Ende
#13#10 an, dann geht es auch:
Delphi-Quellcode:
procedure TForm2.Button6Click(Sender: TObject);
var i : Integer;
begin
Memo1.Clear;
for i := 0 to 1002 do Memo1.lines.strings[i] := INTTOSTR(i)+#13#10;
end;