Fórum Passando Parâmetros de procedure #613204

06/11/2020

0

Tenho a seguinte procedure

procedure TfrmManutencaoClientes.AtualizaCamposCliente(var Atualiza: Boolean);
begin
  DataModuleGeral.qryUnidadeUsuario.Locate(''COD_UNIDADE'', DM.tbClientesCOD_UNIDADE.AsInteger,[]);
  if Atualiza then
  begin
  ...
  end;
 ...
end;

Só que não queria criara uma variável para poder usa-la... queria poder usar assim
AtualizaCamposCliente(True);
ou
AtualizaCamposCliente(False);


Teria como fazer isso ou eu terei que criar uma variável setar como True ou False para poder usar na procedure.
var lVariavel : Boolean;
begin
   lVariavel := Treu;
   AtualizaCamposCliente(lVariavel);
end;
Eduardo Silva

Eduardo Silva

Responder

Post mais votado

06/11/2020

retire a palavra var da frente do parâmetro:
procedure TfrmManutencaoClientes.AtualizaCamposCliente(Atualiza: Boolean);
begin
  DataModuleGeral.qryUnidadeUsuario.Locate(''COD_UNIDADE'', DM.tbClientesCOD_UNIDADE.AsInteger,[]);
  if Atualiza then
  begin
  ...
  end;
 ...
end;

você pode até deixar um valor padrão:
procedure TfrmManutencaoClientes.AtualizaCamposCliente(Atualiza: Boolean = True);
begin
  DataModuleGeral.qryUnidadeUsuario.Locate(''COD_UNIDADE'', DM.tbClientesCOD_UNIDADE.AsInteger,[]);
  if Atualiza then
  begin
  ...
  end;
 ...
end;

sintaxe:
AtualizaCamposCliente(True); // atualiza
AtualizaCamposCliente(); // atualiza
AtualizaCamposCliente(False); // não atualiza


Emerson Nascimento

Emerson Nascimento
Responder

Gostei + 1

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar