Fórum deixar os primeiras letras maiusuculas no on change de um... #357473
22/04/2008
0
deixar os primeiras letras maiusculas no on change de um edit?
tem como?
ex.:
Jose Aparecido Moreira
tem como?
ex.:
Jose Aparecido Moreira
Guigosnet
Curtir tópico
+ 0
Responder
Posts
23/04/2008
Facc
deixar os primeiras letras maiusculas no on change de um edit?
tem como?
ex.:
Jose Aparecido Moreira
Função para alterar a primeira letra
function FormataNome(sNome : String) : String; const excecao: array[0..5] of string = (´ da ´, ´ de ´, ´ do ´, ´ das ´, ´ dos ´, ´ e ´); var tamanho, j: integer; i: byte; begin Result := AnsiLowerCase(sNome); tamanho := Length(Result); for j := 1 to tamanho do // Se é a primeira letra ou se o caracter anterior é um espaço if (j = 1) or ((j>1) and (Result[j-1]=Chr(32))) then Result[j] := AnsiUpperCase(Result[j])[1]; for i := 0 to Length(excecao) do Result := StringReplace(Result,excecao[i],excecao[i],[rfReplaceAll, rfIgnoreCase]); end;
No Onchange do Edit/DBEdit coloque
var i: integer; begin if (Sender is TDBEdit) then begin i := (Sender as TDBEdit).SelStart; (Sender as TDBEdit).Text := FormataNome((Sender as TDBEdit).Text); (Sender as TDBEdit).SelStart := i; end;
Esse acima é generico, mude de TDBEdit para TEdit, e aponte os demais edits para um só OnChange
Responder
Gostei + 0
23/04/2008
Guigosnet
blz.. deu certo, obrigado
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)