Ejemplo de tratamiento de «Planos y figuras»
Es bantante común encontrarse en programación con aplicaciones que requieren una interface del tipo «plano y figuras». Son aquellos programas cuya entrada de datos se realiza a partir de un formulario que presenta un plano y donde se deben poder «colocar» elementos/objetos que después se utilizarán en el programa.
En éstos proyectos suele haber dos «modos de trabajo» básicos:
- Modo Administrador: Se utiliza para configurar el escenario de trabajo. Seleccionar un Mapa, y crear los objetos, con las propiedades que luego utilizará el programa. Un mismo programa puede trabajar con varios escenarios.
- Modo Explotación: Es el modo en que se trabaja con el programa normalmente; Se basa en una o varias configuraciones que se han creado anteriormente en el «modo administrador».
Como ayuda a éste tipo de Interfaces de cara al usuario, se han creado los componentes TSaveComps y TSelectOnRuntime que puedes encontrar en la sección de componentes de ésta página. Y como muestra para éstos dos componentes se ha creado ésta demo. Muestra cómo sería su utilización en una interface sencilla, que en éste caso simula un restaurante. Muestra el funcionamiento básico de ambos modos de trabajo.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Hola. Estoy haciendo pruebas con el ejemplo de «planos y figuras», me pongo en modo «administrador» y creo una nueva mesa, me aparece correctamente, la posiciono y pulso en «Guardar distribución de mesas» guardando la configuración con un nombre. Cierro el programa, vuelvo a entrar y ya me aparece la mesa que he creado pero si la borro y vuelvo a guardar la distribución de mesas no desaparece.
Estoy compilando con Delphi 2007.
Gracias y un saludo
@newtron
Hola Newtron.
Es simplemente un pequeño fallo de la demo. Si revisas cómo está hecha (la puedes cambiar a tu gusto), la configuración se guarda en el fichero [DemoRestaurante.ini] que hay en el directorio del ejecutable y luego ese fichero se copia al que has seleccionado cuando pulsas [GUARDAR].
Basta con que borres ese fichero [DemoRestaurante.ini] al pulsar el [GUARDAR] y verás que el nuevo se genera correctamente.
Un saludo.
@Germán Estévez
Gracias Germán. Probaré lo que me dices.
Saludos
Hola de nuevo.
He hecho un proyecto «tontuno» para hacerme un poco la idea de cómo funcionan los componentes y me hace un extraño. El mismo proyecto que compilado con D6 funciona correctamente en D2007 me cambia la posición de «buttons» o «labels» que están en el formulario pero no tienen nada que ver con los objetos creados con los componentes. Imagino que es porque en el fichero .ini se guardan todos los objetos del formulario pero curiosamente con D6 no tiene el mismo comportamiento que con D2007. Si eres tan amable y quieres echarle un vistazo te podría enviar el proyecto.
Saludos
@newtron
Hola.
Puedes enviarmelo a mi correo, si puedo le echaré un vistazo.
german_ral[ARROBA]hotmail[DOT]com
Un saludo