Analitcs

Pesquisar no conteúdo do blog.atlabs.com.br

sábado, 17 de novembro de 2012

DELPHI - Utilizando Funções de Retorno de TabOrder

Reações: 


function TForm1.ValidaItens: Boolean;
var
  i, j, iMaxTabOrder : integer;
  wcObj : TWinControl;
Function IsValidDate(DT : String) : Boolean;
var
  X : TDateTime;
begin
  Result := False;
  try
    X := StrToDateTime(DT);
    Result := True;
  except
    Result := False;
  end;
end;
  Function GetCaptionItem(Tag : Integer) : String;
  var
    X : Integer;
  begin
    for X := 0 to pnlBackItensCliente.ControlCount -1 do
    begin
      if (pnlBackItensCliente.Controls[x] is TLabel) and (Tag = TLabel(pnlBackItensCliente.Controls[x]).Tag) then
      begin
        Result := TLabel(pnlBackItensCliente.Controls[x]).Caption;
        Break;
      end;
    end;
  end;
  Procedure ShowMessageBox(Item : TWinControl);
  begin
    MessageBox(Handle, PChar('O campo "' + GetCaptionItem(Item.Tag) + '" não pode ser nulo. Verifique.'), 'Erro de validação de campo', MB_OK + MB_ICONERROR );
    Item.SetFocus;
  end;
begin
  Result := False;
  iMaxTabOrder := MaxTaborder(pnlBackItensCliente);
  for J := 0 to iMaxTabOrder -1 do
  begin
    wcObj := GetObjectTabOrder(J, pnlBackItensCliente);
    if (wcObj <> nil) and (wcObj is TDBEdit) and (Trim(TDBEdit(wcObj).Text) = '') then
    begin
      ShowMessageBox(wcObj);
      exit;
    end;
    if (wcObj <> nil) and (wcObj is TDBComboBox) and (TDBComboBox(wcObj).ItemIndex = -1) then
    begin
      ShowMessageBox(wcObj);
      exit;
    end;
  end;
  if (not IsValidDate(DBEdit14.Text)) then // DBedit com campo data
  begin
    ShowMessageBox(TWinControl(DBEdit14));
    exit;
  end;
  Result := True;
end;

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.

Max Gehringer