FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Solicito recomendación sobre formas de programar
Saludos colegas. No estoy seguro de si el título del hilo les da una idea clara de la intención de este hilo, pero lo que quiero preguntar es lo siguiente:
Al desarrollar un aplicación, por lo general reutilizo formularios (dentro de la misma aplicación) para diferentes funciones en las que sólo cambian algunos controles. Por ejemplo, digamos que en la aplicación existe la función de dar de alta profesores, así como de dar de baja y de modificar sus datos. Para estas tres funciones yo utilizo un mismo form, sólo hago visibles o invisibles algunos botones y otros controles, y en algunos casos sólo cambio el caption de los mismos, y dentro del código del evento click (por ejemplo) tomo la decisión de qué líneas ejecutar en función del caption. ¿Creen ustedes que esto es recomendable? O, ¿es más recomendable crear un form con su propio conjunto de controles para cada función? Gracias por su tiempo |
#2
|
||||
|
||||
Hola,
Creo que es una cuestión de cómo lo veas en cada caso. Si, por ejemplo, por reutilizar formularios vas a tener que hacer virguerías codificando... pues no sé yo si compensa: al fin y al cabo un IDE como el de Delphi está para utilizarlo, porque se gana tiempo, por ejemplo. Así que no sé yo si se podría dar una respuesta general... más bien creo que no. Dependerá de cada caso y de cómo lo veas. Lo que tal vez pueda decirse es que las dos formas son válidas, yo por lo menos no veo nada de malo en una u otra. Todo lo contrario. |
#3
|
|||
|
|||
Ya veo, tiene sentido. Gracias.
|
#4
|
||||
|
||||
Lo más fácil es crear una variable (o propiedad) que indique qué se debe mostrar, por ejemplo, lo típico:
Ahora después de crear ese Form, asignas un valor a la propiedad Modo y listo, ya tienes todos los captions y demás hecho. Por otra parte tienes la variable FModo que puedes preguntar si está en modo edicion, inserción, etc; como ves mucho más cómodo que preguntar por un caption.
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
Ciertamente es más cómodo y más práctico. Por desgracia, la escuela donde estudio no enseña a programar de esta manera en delphi, sino a usar únicamente lo que ya contiene, sin nuevas implementaciones. Es bueno estar aquí, se aprende bastante.
Gracias compañero. |
#6
|
||||
|
||||
Cita:
Pero cuando hablamos de ocultar y/o inhabilitar controles dependiendo del contexto, realmente estamos cambiando de formulario, así sea virtualmente. Visto en un ejemplo aislado puede parecer razonable, pero cuando tales situaciones comienzan a multiplicarse en la aplicación, corre uno el riesgo de tener que hacer auténticas virguerías en aras del reuso de formularios. A mi me sucedió eso, precisamente. Me sentí muy 'listo' reusando formularios, ¡caramba! ¡sólo tengo que hacer unas cuantas comprobaciones y habilitar/ocultar lo que no haga falta. Al final, las comprobaciones eran de miedo, la lógica de la aplicación se mezclaba bien y bonito con la interfaz de usuario, en fin, una pesadilla. Luego me percaté que la mejor solución era, en efecto, la reutilización de formularios, pero no por la via de ocultar/inhabilitar controles, sino por la de la herencia visual de formularios. Digamos que tenemos que capturar los datos de un cliente, pero hay dos tipos de clientes, normales y preferenciales, y, si bien muchos datos son comunes, hay otros que dependen del tipo de cliente. En lugar de colocar todos los controles, comunes y no comunes, en un sólo formulario, ocultando los que no se requieran; viene mejor hacer una formulario base con los controles comunes y derivar de él dos formularios, uno por cada tipo de cliente: Código:
TfrmDatosClientes ^ | -----------+------------- + + | | TfrmDatosClienteNormal TfrmDatosClientePreferencial // Saludos |
#7
|
|||
|
|||
Cita:
Ambos ejemplos son válidos para mi pregunta, dado que he reutilizado formularios tanto para habilitar/mostrar diferentes controles como para utilizar de manera distinta los mismos. Y tienes razón, hay veces en que la interfaz se mezcla con la lógica y ocasiona enredos bastante difíciles. Supongo que es válido hacerlo de la manera habilitar/mostrar únicamente si los cambios son simples y no complican el entendimiento del flujo del código. Pero si lo hacen, suena más recomendable lo que tú propones. Gracias por tu recomendación compañero. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Solicito informacion sobre Temporizacion | neto57 | Varios | 0 | 21-09-2006 03:06:22 |
Duda sobre como programar el juego Timbiriche | mifiar | Varios | 16 | 26-11-2005 06:06:01 |
Duda sobre maximizar formas | vick | Conexión con bases de datos | 3 | 27-10-2005 23:54:00 |
Consulta Sobre programar PDA's | Enan0 | Varios | 1 | 28-09-2005 08:49:31 |
Informacion sobre programar nuevas SESSIONES | CARSOFT_AR | Conexión con bases de datos | 1 | 22-11-2004 22:46:13 |
|