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] >