Ээ.. Вот так? Прошу прощения за небольшой плагиат
Код:
function InvertWord(s: ShortString): String;
var
I : Integer;
begin
Result := '';
For I := Length(S) Downto 1 Do
Result := Result + S[i];
end;
function InvertString(s: String): String;
var
b: Byte;
begin
Result:='';
b:=Pos(' ',s);
While b<>0 do begin
Result:=Result+InvertWord(Copy(s,1,b-1))+' ';
If b=Length(s) then exit;
s:=Copy(s,b+1,Length(s));
b:=Pos(' ',s);
end;
Result:=Result+InvertWord(s);
end;
Работает вне зависимости от наличия пробелов в начале или конце строки.