PacoPepe
27-11-2008, 10:16:54
Tengo dudas sobre como seria la forma correcta de manejar propiedades.
Tengo una aplicación en el que se manejan una serie de variables relacionadas entre si, las cuales se almacenan en una tabla de una base de datos.
Por ejemplo, 3 variables relacionadas entre si, de las que el usuario va a definir 2 de ellas y el programa la tercera.En concreto son la longitud de una tubería, el número de tramos de la tubería y la longitud de cada tramo de la tubería. Definiendo el usuario dos de ellas, calculo la 3ª.
Como las variables están almacenadas en una base de datos, no se si lo correcto sería almacenar las 3 variables o solo 2 y calcular la 3ª.
Tampoco sé como debo definir las propiedades. Debo de definirlas así
private
FVariable: double;
public
property Variable: double read GetVariable write FVariable;
Y leer el valor de la base de datos en el onCreate del Form
function TForm1.GetVariable:double
begin
FVariable:= {leo el valor de la base de datos}
end;
Pero si lo hago asi y cambian el valor de la variable, tengo que almacenar el valor en la base de datos, y esto lo puedo hacer en ese momento o al cerrar el Form, ya que es posible que el usuario recalcule varias veces y con diferentes valores.
En fin, un lío que agradecería me ayudaran a resolver
Un saludo :confused:
Tengo una aplicación en el que se manejan una serie de variables relacionadas entre si, las cuales se almacenan en una tabla de una base de datos.
Por ejemplo, 3 variables relacionadas entre si, de las que el usuario va a definir 2 de ellas y el programa la tercera.En concreto son la longitud de una tubería, el número de tramos de la tubería y la longitud de cada tramo de la tubería. Definiendo el usuario dos de ellas, calculo la 3ª.
Como las variables están almacenadas en una base de datos, no se si lo correcto sería almacenar las 3 variables o solo 2 y calcular la 3ª.
Tampoco sé como debo definir las propiedades. Debo de definirlas así
private
FVariable: double;
public
property Variable: double read GetVariable write FVariable;
Y leer el valor de la base de datos en el onCreate del Form
function TForm1.GetVariable:double
begin
FVariable:= {leo el valor de la base de datos}
end;
Pero si lo hago asi y cambian el valor de la variable, tengo que almacenar el valor en la base de datos, y esto lo puedo hacer en ese momento o al cerrar el Form, ya que es posible que el usuario recalcule varias veces y con diferentes valores.
En fin, un lío que agradecería me ayudaran a resolver
Un saludo :confused: