Hola,
A ver si este par de funciones te apañan:
Código Delphi
[-]
function Capitalizar(const cadena: string): string;
var
s: string;
i: integer;
b: boolean;
begin
s := '';
b := true;
for i := 1 to Length(cadena) do
begin
if b then
s := s + AnsiUpperCase(cadena[i])
else
s := s + cadena[i];
b := (cadena[i] = ' ');
end;
Result := s;
end;
function CapitalizarFrase(const frase: string) : string;
var
i: integer;
up: boolean;
begin
up := true;
Result := frase;
for i := 1 to Length(frase) do
begin
if up then
Result := Result + AnsiUpperCase(frase[i])
else
Result := Result + AnsiLowerCase(frase[i]);
up := frase[i] = ' ';
if up and (Length(frase) >= (i + 2)) and
(frase[i+2] = ' ') then up := false;
end;
end;