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