Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-04-2007
Monxy Monxy is offline
Registrado
 
Registrado: abr 2007
Posts: 8
Poder: 0
Monxy Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 22-04-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por dec
Si, por ejemplo, por reutilizar formularios vas a tener que hacer virguerías codificando... pues no sé yo si compensa
En mi opinión, el ejemplo de Lepe no necesariamente concuerda con lo que se pregunta. Su ejemplo trata de un formulario en donde lo que cambia no son los controles, sino el modo en que se usan. Ciertamente, para editar los datos de un cliente, da lo mismo si se trata de uno existente o de un cliente nuevo y yo haría algo similar.

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
No sé yo, si lo que comento se ajuste a lo que se requiere, pero sólo digo que hay que tener cuidado con el reuso de formularios.

// Saludos
Responder Con Cita
  #3  
Antiguo 22-04-2007
Monxy Monxy is offline
Registrado
 
Registrado: abr 2007
Posts: 8
Poder: 0
Monxy Va por buen camino
Cita:
Empezado por roman
En mi opinión, el ejemplo de Lepe no necesariamente concuerda con lo que se pregunta. Su ejemplo trata de un formulario en donde lo que cambia no son los controles, sino el modo en que se usan.



No sé yo, si lo que comento se ajuste a lo que se requiere, pero sólo digo que hay que tener cuidado con el reuso de formularios.


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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 22:24:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi