Thanks very much IceFire 
I looked through WizzyPlugin for TInteger removal and wasn't able to find any (should I have been looking for TPoint maybe? Are they interchangable?)
One last question with the above code would be:
SCAR Code:
program new;
var
NumbersArray : TIntegerArray;
i : Integer;
procedure DeleteIntInArr(var Arr: TIntegerArray; Index: Integer);
var
TempArr: TIntegerArray;
I, L: Integer;
begin
SetLength(TempArr, Length(Arr) - 1);
for I := High(Arr) downto 0 do
if (I <> Index) then
begin
TempArr[L] := Arr[I];
Inc(L);
end;
Arr := TempArr;
end;
begin
NumbersArray := [10, 20, 30, 40, 50, 60];
//0 1 2 3 4 5
DeleteIntInArr (NumbersArray, 3); // Get rid of 40
for i:=0 to High(NumbersArray) do
begin
writeln (IntToStr(i)+': '+ IntToStr(NumbersArray[i]));
end;
end.
The result is:
Compiled succesfully in 16 ms.
0: 60
1: 50
2: 30
3: 20
4: 10
Successfully executed.
So I took your code and modified the 'for to do' line to this:
SCAR Code:
procedure DeleteIntInArr(var Arr: TIntegerArray; Index: Integer);
var
TempArr: TIntegerArray;
I, L: Integer;
begin
SetLength(TempArr, Length(Arr) - 1);
for I := 0 to High(Arr) do // <-- Modded here
if (I <> Index) then
begin
TempArr[L] := Arr[I];
Inc(L);
end;
Arr := TempArr;
end;
Would this modification cause me any problem down the road?
I'm still trying to understand the code, I generally get it but I'm going over it in fine detail as best as I can, so hopefully you can forgive any error in knowledge on my part!