Hola.
Para sumar opciónes:
Convertir un cadena donde cada Palabra Primera con mayuscula
Y una que contempla otros delimitadores ademas del espacio:
Código Delphi
[-]
function UpperFirstChar(str: string): string;
const
SEP = '|°!"#$%&/()={}[]¿?¡''''+*-_.,;:<> '; var
i : Integer;
begin
Result := LowerCase(str);
Result[1] := UpCase(Result[1]);
for i := 1 to Length(Result) - 1 do
if Pos(Result[i], sep) <> 0 then
Result[i+1] := UpCase(Result[i+1]);
end;
(*) Caracteres que quieras considerar como separadores de palabra
Saludos