Colocar as Primeiras Letras em Maiúsculas
Oi de Novo.
Alguem sabe como colocar as Primeiras letras de um texto ( edit , etc.. ) em maiúsculas , estou usando assim
with EditTexto do
if Text <> ´´ then
begin
OnChange := nil;
Old := SelStart;
Texto := UpperCase(Copy(Text,1,1))+ LowerCase(Copy(Text,2,Length(Text)));
Text := Texto;
SelStart := Old;
OnChange := EditTextoChange;
end
mas deste jeito esta colocando todo o resto em minusculas , quem tem ideia de como deixar as primeiras letras das palavras em maiúsculas e se possivel evitando as preposições ( de , do , da , dos , das )...
Alguem sabe como colocar as Primeiras letras de um texto ( edit , etc.. ) em maiúsculas , estou usando assim
with EditTexto do
if Text <> ´´ then
begin
OnChange := nil;
Old := SelStart;
Texto := UpperCase(Copy(Text,1,1))+ LowerCase(Copy(Text,2,Length(Text)));
Text := Texto;
SelStart := Old;
OnChange := EditTextoChange;
end
mas deste jeito esta colocando todo o resto em minusculas , quem tem ideia de como deixar as primeiras letras das palavras em maiúsculas e se possivel evitando as preposições ( de , do , da , dos , das )...
Smartsistemas
Curtidas 0
Respostas
Fabio.hc
06/02/2005
Tente assim:
Edit1.Text:=CaixaMista(Edit1.Text);
function CaixaMista (mNome: string): string; var tam,pos1,pos2 : integer ; pal : string; begin tam := Length(mNome); mNome := TrimRight(mNome) + ´ ´; mNome := AnsiUpperCase(mNome); while True do begin pos1:=POS( ´ ´ , mNome) ; if pos1 = 0 then break; pal := Copy(mNome,1,pos1) ; pos2 := pos(pal, ´ DA - DAS - DE - DO - DOS ´); If pos2 > 0 then pal :=AnsiLowerCase (pal) else pal:=Copy(pal,1,1) + AnsiLowerCase(Copy(pal,2,tam)) ; result := result + pal ; mNome := copy(mNome,pos1+1,tam) end; end;
GOSTEI 0
Pitamaro
06/02/2005
Excelente, muito obrigado!
GOSTEI 0
Joel Rodrigues
06/02/2005
Nesse caso, estou encerrando o tópico.
Abraço a todos.
Abraço a todos.
GOSTEI 0
José
06/02/2005
Tópico concluído.
GOSTEI 0