program rnstrlist2;
{$mode delphi}
type
TList<T> = class
items: array of T;
procedure Add(value: T);
end;
procedure TList<T>.Add(value: T);
begin
SetLength(items, Length(items) + 1);
items[Length(Items) - 1] := value;
end;
var
mystrlist: TList<String>;
item: String;
begin
mystrlist := TList<String>.Create;
mystrlist.Add('one');
mystrlist.Add('two');
mystrlist.Add('three');
for item in mystrlist.items do
WriteLn(item);
end.
cHJvZ3JhbSBybnN0cmxpc3QyOwp7JG1vZGUgZGVscGhpfQoKdHlwZQogIFRMaXN0PFQ+ID0gY2xhc3MKICAgIGl0ZW1zOiBhcnJheSBvZiBUOwogICAgcHJvY2VkdXJlIEFkZCh2YWx1ZTogVCk7CiAgZW5kOwogICAgIApwcm9jZWR1cmUgVExpc3Q8VD4uQWRkKHZhbHVlOiBUKTsKICBiZWdpbgogICAgU2V0TGVuZ3RoKGl0ZW1zLCBMZW5ndGgoaXRlbXMpICsgMSk7CiAgICBpdGVtc1tMZW5ndGgoSXRlbXMpIC0gMV0gOj0gdmFsdWU7CiAgZW5kOwogICAgIAp2YXIKICBteXN0cmxpc3Q6IFRMaXN0PFN0cmluZz47CiAgaXRlbTogU3RyaW5nOwpiZWdpbgogIG15c3RybGlzdCA6PSBUTGlzdDxTdHJpbmc+LkNyZWF0ZTsKICBteXN0cmxpc3QuQWRkKCdvbmUnKTsKICBteXN0cmxpc3QuQWRkKCd0d28nKTsKICBteXN0cmxpc3QuQWRkKCd0aHJlZScpOwogIGZvciBpdGVtIGluIG15c3RybGlzdC5pdGVtcyBkbwogICAgV3JpdGVMbihpdGVtKTsKZW5kLgogICAgIA==