Parâmetro por referência

Delphi

12/03/2014

Olá. Gostaria de saber se consigo passar a referência de uma variável para uma propriedade de uma classe (var), e ter na classe o valor desta variável sempre atualizado,ou seja, assim que o valor dela mude eu tenha esta informação na classe.

Só pra exemplificação:

unit uPag;
TTestePag = class
private
FValor : currency;
public
property Valor : currency write FValor;
property FValorPago: currency read FFValorPago;
property ValorRestante : currency read FValorRestante;

procedure AtualizaValorRestante();
end;

procedure AtualizaValorRestante();
begin
FvalorRestante := FValor - FValorPago;
end;

unit FrmCaixa;
...
procedure FrmCaixa.Button2Click(Sender: TObject);
var
Pag : TTestePag;
begin
Pag := TTestePag.Create;
Pag.Valor := 0;
end;
Devjunior

Devjunior

Curtidas 0

Respostas

Marco Salles

Marco Salles

12/03/2014

Não sei se entendi , mas coloque a intrução

FvalorRestante := FValor - FValorPago;

em todos os evento onsetText das variáveis FValor e FValorPago

e deixe a property FValorTrestante somente Leitura

[]sds
GOSTEI 0
Devjunior

Devjunior

12/03/2014

Vou dar outro exemplo, neste acredito que serei melhor compreendido.
Meu cadastro de cliente se inicia com um número negativo, e eu tenho uma classe que tem uma property ClienteID. O valor desta propriedade é passada no onShow do form de cadastro, e quando é uma pesquisa, o id do cliente sempre será positivo. Mas ao inserir um cliente este id é informado negativo, e quando salva o cadastro ele atribui o id.
A dúvida é se eu consigo passar um ponteiro pra esta property e quando salvar o cadastro e o id ficar positivo eu chamaria apenas o método sem informar o id do cliente novamente e nem passar como parâmetro no método.
GOSTEI 0
POSTAR