Fórum Colocar as Primeiras Letras em Maiúsculas #267623

06/02/2005

0

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 )...


Smartsistemas

Smartsistemas

Responder

Posts

06/02/2005

Fabio.hc

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;



Responder

Gostei + 0

26/02/2013

Pitamaro

Excelente, muito obrigado!
Responder

Gostei + 0

26/02/2013

Joel Rodrigues

Nesse caso, estou encerrando o tópico.
Abraço a todos.
Responder

Gostei + 0

30/06/2013

José

Tópico concluído.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar