How to remove a sublist from a List in Pascal

1 Answer

0 votes
program RemoveSublistProgram;

{$mode objfpc}  // Enables object-oriented features // try
uses
  Classes; // TList

procedure RemoveSublist(var items: TList; startIndex, endIndex: Integer);
var
  i: Integer;
begin
  for i := endIndex downto startIndex do
    items.Delete(i);
end;

var
  items: TList;
  i: Integer;
begin
  items := TList.Create;
  try
    // Fill the list with integers (casted as pointers)
    for i := 1 to 10 do
      items.Add(Pointer(i));

    // Remove elements from index 2 to 4 (i.e., values 3, 4, 5)
    RemoveSublist(items, 2, 4);

    // Display updated list
    Write('Updated list: ');
    for i := 0 to items.Count - 1 do
      Write(Integer(items[i]), ' ');
    WriteLn;
  finally
    items.Free;
  end;
end.




(*
run:
  
Updated list: 1 2 6 7 8 9 10 

*)



 



answered Aug 14, 2025 by avibootz
...