Parâmetro por referência
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;
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
Curtidas 0
Respostas
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
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
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.
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