Oder man baut sich gleich eine Klasse, die die entsprechende Funktionalität zur Verfügung stellt (braucht man eh öfter). Wenn XE bereits eine TIntegerList hat, dann kann man die Klasse ja auch davon ableiten und entsprechend erweitern.
Delphi-Quellcode:
procedure TIntegerList.Exchange(Index1, Index2: integer);
var
T: integer;
begin
end;
procedure TIntegerList.Sort;
var
I, J: integer;
begin
end;
procedure TIntegerList.Assign(List: TIntegerList);
var
I: integer;
begin
Clear;
for I := 0 to List.Count - 1 do
Add(List[I]);
end;
procedure TIntegerList.Mix;
var
MixList: TIntegerList;
I: integer;
begin
MixList := TIntegerList.Create;
try
while FCount > 0 do
begin
I := Random(FCount);
MixList.Add(FItems[I]);
Del(I);
end;
Assign(MixList);
finally
MixList.Free;
end;
end;
procedure TIntegerList.SetStrings(Strings: TStrings; ColCount: integer);
var
I, J, K, RowCount: integer;
S: string;
begin
Strings.BeginUpdate;
Strings.Clear;
try
if FCount mod ColCount = 0 then
RowCount := FCount div ColCount
else
RowCount := FCount div ColCount + 1;
for I := 0 to RowCount - 1 do
begin
S := '';
for J := 0 to ColCount - 1 do
begin
K := I * ColCount + J;
if K < FCount then
S := S + IntToStr(FItems[K]) + FSeparator;
end;
Strings.Add(S);
end;
finally
Strings.EndUpdate;
end;
end;