Ich würde pred an der Stelle zum Beispiel nur verwenden um mir eine zeile zu sparen. wobei ich mir das pred in dem genannten Beispiel sparen würde und lieber j mit 0 initialisieren und dafür das inc in der schleife eine Zeile weiter vor holen würde.(wenn es denn der Code sein sollte)
Delphi-Quellcode:
function RemoveChars(const aString: string; Chars: TChars): string;
var i, j: Integer;
begin
SetLength(Result,Length(aString));
j := 0;
for i := 1 to Length(aString) do
begin
if not(aString[i] in Chars) then
begin
Inc(j);
Result[j] := aString[i];
end;
end;
SetLength(Result,j);
end;
Und je nach dem ob der Ausgangsstring überhaupt danach noch gebraucht wird würde ich das ganze zu einer Procedure wandeln und den Ausgangsstring ändern:
Delphi-Quellcode:
procedure RemoveChars(var aString: string; Chars: TChars);
var i, j: Integer;
begin
j := 0;
for i := 1 to Length(aString) do
begin
if not(aString[i] in Chars) then
begin
Inc(j);
aString[j] := aString[i];
end;
end;
SetLength(aString,j);
end;