Hola rruffino.
Para los caracteres situados al principio o final de la cadena podrías usar las funciones
Trim,
TrimLeft y TrimRight. Pero según comentás también te pueden ingresar varios espacios entre los nombres, por lo que creo que vas a tener que hacerte una función para la tarea:
Código Delphi
[-]
function AjustarEspacios(Cadena: string): string;
var
TS: TStrings;
i : Integer;
begin
TS:= TStringList.Create;
try
TS.DelimitedText:= Trim(Cadena);
TS.Delimiter:= ' ';
Result:= '';
for i:= 0 to TS.Count-1 do
if TS[i] <> ' ' then
begin
Result:= Result + TS[i];
if i < TS.Count-1 then
Result:= Result + ' ';
end;
finally
TS.Free;
end;
end;
Ejemplo de llamada:
Código Delphi
[-]
var
s: string;
begin
s:= ' Pedro Antonio Omar Benitez ';
s:= AjustarEspacios(s);
ShowMessage(s);
end;
Saludos.