Existe alguma maneira de usar a propriedade como comportamento?
Eu tenho a seguinte fórmula
X := X + F*(1-i div n);
Onde
X, F, i, n: integer;
O código que estou usando é este
F := 7; // the initial speed with no friction.
n := 10; // the animation number of steps.
Hn := n * 2 ;
X := 0; // first Pos
i := 1;
J := 1;
while J < Hn do
begin
X := X + F * (1 - i div n);
if X > Xmax then X := 0; <-- line (1).
if i >= n then Dec(i)
else Inc(i);
Inc(J);
end;
Se possível, eu gostaria de usar isso, mas sem a implementação de classe / registro (não dentro de uma classe / implementação / método de registro) .não a sintaxe exata, apenas o mesmo princípio, em vez da atribuição direta a X, o SetX é chamado de resultado é atribuído a X.
X: integer write SetX; // This is not a correct delphi syntax. I added it to explain the behavior I want.
function SetX(aValue: integer): integer;
const
Xmax: SomeIntegerValue;
begin
if aValue > Xmax then result := 0
else result := aValue;
end;
Então eu poderia omitir a Linha (1). Se isso fosse possível, todas as linhas após a fórmula seriam omitidas e o loop while ficaria assim
while J < Hn do // J will be incremented each time the loop wants to read it.
begin
X := X + F * (1 - i div n);
end;
Existe alguma maneira de usar a propriedade como comportamento?
Nota: Estou procurando uma maneira de alterar as formas de atribuição e leitura de uma variável como você faz em uma propriedade de um registro / classe.