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


Weliton Oliveira

Weliton Oliveira

Responder

Posts

19/04/2005

Nildo

Esta dica eu peguei do Dicas e Truques Delphi v2.6, dica número 302:

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

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

Aceitar