jupp, würde gehn
oder einfach die Zählrichtung umkehren
Delphi-Quellcode:
for i := Length(S) downto 1 do
if S[i] = ' ' then
Delete(S, i, 1);
das Problem bei
for i := 1 to Length(S) do ist einfach, daß Length nur bei Schleifenbeginn einmal ausgewertet, das Ergebnis gespeichert und danach nur noch die "Kopie" verwendet wird.
außerdem würden bei 2 folgenden ' ' immer das Zweite übersprungen, da sich ja im nächsten Durchgang der Index erhöht und das 2. ' ' eines vorrutscht.
und im Notfall würde auch
StringReplace aushelfen