Validar Campos no Delphi

Veja nesta Quick como validar campos no Delphi


Olá galera, nesta Quick Tips irei mostrar como podemos criar um validador de campos no Delphi.

 

Podemos ver abaixo duas functions ValidarCampos o ValidaCamposTag, ambos fazem a mesma coisa, porém o ValidaCampos irá validar todos os Edits/Combobox/Memo que não estiverem preenchidos, já o ValidaCamposTag, irá validar apensar os componentes aos quais a propriedade tag for igual a 1, simulando os componentes obrigatórios.

 

Vamos às implementações :

 

ValidaCampos

 

function TForm1.ValidaCampos: Boolean;

var

  I: Integer;

begin

  for I := 0 to ComponentCount - 1 do

  begin

if Components[I].ClassType = TEdit then

if TEdit(Components[I]).Text = '' then

begin

Result := true;

{Se você utiliza Delphi 2009 em diante, verá que tem esta opção

   para poder escrever um conteúdo na caixa de texto quando ela

estiver vazia}

TEdit(Components[I]).TextHint := 'Campo Obrigatório';

{Outra idéia seria jogar o focu no componente}

// TEdit(Components[I]).SetFocus;

Exit;

    end;

if Components[I].ClassType = TComboBox then

if TComboBox(Components[I]).Text = '' then

begin

Result := true;

{Se você utiliza Delphi 2009 em diante, verá que tem esta opção

para poder escrever um conteúdo na caixa de texto quando ela

estiver vazia}

TComboBox(Components[I]).TextHint := 'Campo Obrigatório';

{Outra idéia seria jogar o focu no componente}

// TComboBox(Components[I]).SetFocus;

Exit;

end;

if Components[I].ClassType = TMemo then

if TMemo(Components[I]).Text = '' then

begin

Result := true;

{Memo não possui a propriedade TextHint}

TMemo(Components[I]).SetFocus;

Exit;

end;

  end;

end;

 

ValidaCamposTag

 

 

function TForm1.ValidaCamposTag: Boolean;

var

  I: Integer;

begin

  for I := 0 to ComponentCount - 1 do

  begin

if Components[I].ClassType = TEdit then

if (TEdit(Components[I]).Text = '') and

 (TEdit(Components[I]).Tag =   1) then

begin

Result := true;

{Se você utiliza Delphi 2009 em diante, verá que tem esta opção para poder escrever um conteúdo na caixa de texto quando ela estiver vazia}

TEdit(Components[I]).TextHint := 'Campo Obrigatório';

{Outra idéia seria jogar o focu no componente}

// TEdit(Components[I]).SetFocus;

Exit;

end;

if Components[I].ClassType = TComboBox then

if (TComboBox(Components[I]).Text = '') and   

 (TComboBox(Components[I]).Tag = 1) then

begin

Result := true;

{Se você utiliza Delphi 2009 em diante, verá que tem esta opção   

para poder escrever um conteúdo na caixa de texto quando ela estiver vazia}

TComboBox(Components[I]).TextHint := 'Campo Obrigatório';

{Outra idéia seria jogar o focu no componente}

// TComboBox(Components[I]).SetFocus;

Exit;

end;

if Components[I].ClassType = TMemo then

if (TMemo(Components[I]).Text = '') and

 (TMemo(Components[I]).Tag = 1) then

begin

      Result := true;

  {Memo não possui a propriedade TextHint}

TMemo(Components[I]).SetFocus;

Exit;

end;

  end;

end;

 

Observe que estamos tratando apenas Edits/Combobox/Memo, porém basta mudar o tipo da classe e poderemos tratar também LabeledEdit1, CheckBox, entre outros.

 

Fico por aqui e na próxima Quick Tips.

 

Um abraço

 

Wesley Y

wyamazack@rwsolution.com.br



Artigos relacionados