FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Manejo de propiedades
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í
Y leer el valor de la base de datos en el onCreate del Form
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 |
#2
|
||||
|
||||
Si las combinaciones de cálculo van a ser todas, es decir, que el usuario puede colocar 2 propiedades cualquiera y el sistema siempre calcula la tercera, yo centralizaría eso en un procedimiento.
Cargas las tres propiedades al crear el form (o show) y guardalas al cerrarlos, para evitar operaciones innecesarias sobre Base de Datos. Los GET los haría accediendo directamente al valor de la variable y los SET, con un procedimiento que recalcule. De esta forma cuando el usuario asigna un nuevo valor a una de las propiedades el sistema vuelve a recalcular. No se si me expliqué bien...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
En realidad sólo necesitas esta linea:
ahora pulsas CTRL + SHIFT + C (class completion de delphi) que generará todo lo demás. Igual que estás usando el get, puedes usar el set: y vuelta con el class completion jeje. Ahora cuando necesites el valor, lo rescatas de la BBDD en GetVari y cuando el usuario le asigna el valor, se ejecuta SetVari y en ese procedimiento es donde lo guardas en la BBDD. Si te gusta la opción de Neftali, pues get y set lo único que hacen es actualizar el valor de FVariable, después en el FormClose es cuando grabas los valores a la BBDD. Edito: aquí te falta un pequeño detalle, asignar el result, supongo que será al tiempo de escribir en el foro:
"Ahora es un lío" después será mecánico Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 27-11-2008 a las 11:46:59. |
#4
|
|||
|
|||
Gracias por las respuestas
He estado probando usando la primera opción de las que me dais (usando FVariable), porque prefiero leer lo menos posible de BD, pero ahora el problema me surge porque el usuario modifica los valores de estas variables a través de DBEdit, y por tanto tendría que enlazar el evento onChange de cada variable ( y tengo sobre 40) con SetVariable, por lo que el listado me va a llegar a Pekín. Un saludo |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
manejo de arbol de contenidos y manejo se sonido y video | Buelos | Internet | 4 | 09-07-2007 14:52:45 |
Propiedades Componente | Punzo | OOP | 2 | 20-12-2006 20:50:58 |
Propiedades DevExpress | Punzo | OOP | 0 | 18-12-2006 20:57:54 |
Acceso a las propiedades de un objeto desde el editor de propiedades | Hugo | OOP | 0 | 24-11-2006 12:58:22 |
Propiedades ADO | Zopi | Conexión con bases de datos | 4 | 10-10-2003 15:41:57 |
|