Fórum Parâmetro por referência #472769
12/03/2014
0
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
Curtir tópico
+ 0
Responder
Posts
13/03/2014
Marco Salles
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
Responder
Gostei + 0
14/03/2014
Devjunior
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.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)