{$codepage utf8} {$mode objfpc} Uses sysutils, classes {$ifdef Linux},cwstring{$endif}; Type TEntero=class n:integer; End; Var ListaCadenas:TStringList; i:integer; m:TEntero; Begin ListaCadenas:=TStringList.create; for i:=0 to 10 do Begin m:=TEntero.create; m.n:=i; ListaCadenas.AddObject('Var-'+intToStr(i),m); End; ListaCadenas.Add('Una cadena de caracteres simple'); for i:=11 to 15 do Begin m:=TEntero.create; m.n:=i; ListaCadenas.AddObject('Var-'+intToStr(i),m); End; m:=TEntero.create; m.n:=58; ListaCadenas.InsertObject(5,'Algo diferente',m); for i:=0 to ListaCadenas.Count-1 do Begin m:=TEntero(ListaCadenas.Objects[i]); if m<>nil then Writeln(ListaCadenas[i],' ',m.n) else Writeln(ListaCadenas[i]) End; End.