la no sul tem sempre um sobrenome novo que você nao tinha imaginado e que 
precisa iniciar com minusculas

dai eu fiz exatamente como você, exceto que as excessoes eu carregava de um txt 
para um TStringList

entao alem dos obvios "de" "dos" tinha uns "van" "d'all"  q eu ia adicionando 
pra garantir q nao iniciariam em maiusculas

Ricardo Bianchin

--- Em delphi-br@yahoogrupos.com.br, Luciano Bruno <lsbdevelopm...@...> escreveu
>
> function UpperNome(const Nome: String): String;
> var
> x : Integer;
> lista : Array[0..4] of String[03];
> 
> function NaoAchaPreposicao(Palavra : String): Boolean;
> var
> x : Integer;
> begin
>     Result := True;
>     for x := 0 to 4 do
>     if Trim(Palavra) = lista[x] then
>     Result := False;
> end;
> begin
> 
>     Result := Nome;
> 
>     lista[0] := 'das'; lista[1] := 'dos' ;
>     lista[2] := 'de'; lista[3] := 'do' ;
>     lista[4] := 'da';
> 
>     Result := UpCase(Result[1]) + Copy(Result, 2, Length(Result));
> 
>     for x := 2 to Length(Nome) do begin
>     if Nome[x] = #32 then
>     if Copy(Nome,x+1,1) <> 'e' then
>     if NaoAchaPreposicao(Copy(Nome,x+1,3)) then
>     Result := Copy(Result, 1, x)
>     + UpCase(Result[x+1])
>     + Copy(Result, x+2, Length(Result));
> end;
> end;
> 
> //Como usar
> Edit2.Text := UpperNome(LowerCase(Edit1.Text));
> 
> 
> 
> Em 4 de agosto de 2010 06:56, Dirlei Dionísio <dir...@...> escreveu:
> 
> > Meu passatempo do início da manhã...
> >
> > function capitulate(const input: string): string;
> > var index: integer;
> > begin
> >  result := input;
> >  for index:=1 to length(result) do
> >    if (index=1) or (result[index-1]=' ') then
> >      result[index] := ansiUpperCase(result[index])[1];
> > end;
> >
> > ou
> >
> > http://pastebin.com/06GTVaNm
> >
> >
> > --
> > Dirlei Dionísio
> > http://MaisQueBomCodigo.blogspot.com
> >
> >
> > Em 3 de agosto de 2010 13:13, Pablo Farias <
> > develo...@...
> > > escreveu:
> >
> > >
> > >
> > > Ola pessoal,
> > > preciso capitular as palavras de uma string por exemplo
> > >
> > > pablo farias >>> transformar em >>> Pablo Farias
> > >
> > > Alguem sabe como fazer isto?
> > > --
> > > Pablo Farias
> > > Fone(81)9169.3339
> > > develo...@... <developer%40marketingrapido.com.br>
> > > skype : marketingrapido
> > > www.marketingrapido.com.br
> > >
> > >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ------------------------------------
> >
> > --
> > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> >
> >
> >
> >
> >
> 
> 
> -- 
> Luciano S. Bruno
> Consultor em TI
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a