Ver Mensaje Individual
  #1  
Antiguo 04-02-2013
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 585
Reputación: 23
santiago14 Va por buen camino
Cita:
Empezado por Delphius Ver Mensaje
Este reto me gustó. Propongo una nueva variante:

Código Delphi [-]
function TForm1.Capitalize(Text: string): string;
var Aux, Capital: string;
begin
  Capital := AnsiUpperCase(Text[1]);
  Aux := AnsiLowerCase(Text);
  Aux[1] := Capital[1];
  result := Aux;
end;

function TForm1.CapitalizeAll(Text: string): string;
var i: integer;
    CopyText: string;
    CapitalizeText: string;
begin
 for i := 1 to Length(Text) do
   begin
     if (Text[i] <> ' ') or (i = Length(Text))
        then CopyText := CopyText + Text[i]
        else begin
               CapitalizeText := CapitalizeText + ' ' + Capitalize(CopyText);
               CopyText := '';
             end;
   end;
 result := CapitalizeText + ' ' + Capitalize(Copytext);
end;

En teoría debería funcionar con cualquier caracter que se venga...

Saludos,
Medio viejito el post pero siempre vigente.
Igual, de gran utilidad.

Gracias de nuevo.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita