Como verificar/Validar valores de entrada em um TEdit? – Show Delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como verificar/Validar valores de entrada em um TEdit?

 

Com a Função é possível permitir a entrada de somente letras, números ou letras e números,
muito útil para a validação de alguns campos.

Para utilizar a função é necessário declarar Windows na seção Uses,
em versões unicode declare WinApi.Windows.

function ValidateField(var Key: Char; TipoFiltro: Byte = 0): Boolean;

Explicando a Função:

Key é a variável que contém o carácter a ser validado.
Tipo de Filtro Indica a validação a ser aplicada. (Opcional).
Abaixo, segue o código fonte da função:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function ValidateField(var Key: Char; TipoFiltro: Byte = 0): Boolean;
  function IsDigit(Key : Char) : Boolean;
  begin
    Result := (Key in ['0'..'9']);
  end;
begin
  if not (Key in [#8, #37, #38, #39, #40, #46]) then
    case TipoFiltro of
      0 : if not (IsCharAlphaNumeric(Key)) then Key := #0; // Aceita letras e números
      1 : if not (IsCharAlpha(Key)) then Key := #0;        // Aceita letras
      2 : if not (IsDigit(Key)) then Key := #0;            // Aceita Números
      else
        raise Exception.Create('Tipo de filtro inválido.');
    end;
  Result := (not (Key = #0));
end;

Exemplos de uso

1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  { Alterando o tipo de filtro. }
  ValidateField(Key, 2);
end;
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  { Utilizando valores default. }
  ValidateField(Key); 
end;

Se preferir, você pode até criar um componente a partir de TEdit com as
funcionalidades da função.

 

Facebook Comments

Posts Relacionados

  • Administrador
  • 714 views
  • 0 comentários
  • 23 de março de 2015

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Ir ao topo

© 2016 Infus Soluções em Tecnologia - Todos os Direitos Reservados