Fórum Iniciais em maiúsculo. #277870
19/04/2005
0
Olá,
preciso que em um DBEdit as primeiras letras dos nomes digitados fiquem em ”Maiúsculo” após o Enter. O usuário não precisa usar “Shift”. No Exit o nome é reformatado.
Veja,
weliton de oliveira ---> Weliton de Oliveira
Observando-se que “de”, “do”, “da”, “dos”, “das”, etc. não ficam em “Maiúsculo”.
Obrigado!!!
preciso que em um DBEdit as primeiras letras dos nomes digitados fiquem em ”Maiúsculo” após o Enter. O usuário não precisa usar “Shift”. No Exit o nome é reformatado.
Veja,
weliton de oliveira ---> Weliton de Oliveira
Observando-se que “de”, “do”, “da”, “dos”, “das”, etc. não ficam em “Maiúsculo”.
Obrigado!!!
Weliton Oliveira
Curtir tópico
+ 0
Responder
Posts
19/04/2005
Nildo
Esta dica eu peguei do Dicas e Truques Delphi v2.6, dica número 302:
Dai no evento OnChange do seu Edit você coloca:
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;
Dai no evento OnChange do seu Edit você coloca:
TEdit( Sender ).Text := CaixaMista( TEdit( Sender ).Text );
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)