como tirar acentos ao digitar em um dbedit

23/08/2004

Como faço para não permitir a gravação de palavras com acentos, Ç, e caracteres especiais?
Uso Fireird 1.5 e Delphi 7.


Zottis

Respostas

23/08/2004

Aroldo Zanela

Colega,

No evento OnKeyPress, siga o exemplo:

  if not (Key in [´A´..´Z´, ´a´..´z´, ´0´..´9´&93;) then key := 0;


No exemplo acima vai impedir a entrada, mas você pode alterar para conseguir o efeito desejado, conforme abaixo:

  if (Key in &91;´Á´,´À´,´Ã´&93;) then key := ´A´;
  if (Key in &91;´á´,´à´,´ã´&93;) then key := ´a´;


Só por curiosidade, qual o motivo?


Responder Citar

23/08/2004

Vinicius2k

Colega,

Outra solução seria usar uma função, no OnExit, por exemplo :
function RemoverAcentos(S: String): String;
const StrA = ´áéíóúàèìòùãõâêîôûçüÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÃÕÇÜ´;
      StrB = ´aeiouaeiouaoaeioucuAEIOUAEIOUAEIOUAOCU´;
var i,aPos: Integer;
begin
  for i:= 1 to Length(S) do
    begin
      aPos:= Pos(S[i&93;,StrA);
      if aPos > 0 then S&91;i&93;:= StrB&91;aPos&93;;
    end;
  Result:= S;
end;


T+


Responder Citar

23/08/2004

Zottis

o motivo é que uso mandar direto para a impressora e não tenho ainda um componente que me permita usar acentos ou caracteres especiais.

Obrigado pela ajuda acho que já resolve o meu problema.

valeu


Responder Citar