FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
re utilizacion de Fomr
Buennos dias :
tengo una duda estoy usdando BDS 2006, la verdad estoy elaborardo un sistemita pequeño, y la verdad me gustaria poder reutilizar los forms. por ejemplo amta de usuario y edicion de usuario son dos form que usan los mismos datos lo que cambian es la sentencia de los botones. podria de alguna forma usar el mismo form para ambas aciones con tan solo pasar un parametro al form que se abre ????? usando el form como una funcion o procedimiento ???? |
#2
|
||||
|
||||
Hola
Claro que se puede. lo mas simple es poner un combobox, con los dos tipos, en cuanto se seleccione uno de ellos, cambiaran tanto los caption de los botones como los parametros interiores que desees, por supuesto con el codigo necesario para ese fin. Saludos |
#3
|
||||
|
||||
Hola vroa74,
Hay muchas maneras de conseguir esto... tantas como programadores y gustos de helados hay (no puedo evitar hacer esta comparación... me invade el calor) Una manera de conseguir esto es mantener una variable "bandera" de tres estados. Cada estado representa una acción ABM. Por ejemplo: 0 -> Alta 1 -> Baja 2 -> Modificación De modo que cuando se crea el form (y/o cuando sea necesario) se ingresa este valor mediante algún parámetro a una función definida que se encargue de habilitar/deshabilitar y/o mostrar/ocultar los controles. Por ejemplo una procedimiento como este:
Ahora, si podemos guardar el valor de opción podemos incluso ahorrarnos controles. Sobre todo los botones de Aceptar. ¿Como? Si hemos guardado el valor de Opcion en alguna variable a la que se pueda tener acceso se puede hacer algo como esto:
Esto es una opción. Y muy usada, debido a su simpleza. Hay otras maneras, y como dije... dependerá de gustos y/o las necesidades del aplicativo. Algo a tener en cuenta, lo simple puede llegar incluso a salirte caro. Pues la simpleza de hacer ese empleo deL case puede verse entorpecida con el posible mantenimiento y actualización del sistema. Por ejemplo: ¿Y si en el otro form el 2 es en realidad 1? ¿De donde salen esos números? ¿Y si hay otras "acciones" que agregarse, como una especie de búsqueda o subbúsqueda... le asociamos un nuevo estado... un 4? Estas preguntas pueden darte una pista si la simpleza de este método te resulta. E incluso puede llegar a ser prospenso como para mezclar la lógica del programa con el aspecto meramente visual. Por ejemplo se puede caer en algo como esto:
¿Al final? ¿Sobrecargamos al botón Aceptar con código y mezclamos las sentencias SQL alli y luego las mandamos? ¿O lo hacemos simple como que se disparen la orden mediante otros procecimientos y/o funciones qur tengan ese código enmarranado? En fin... dependerá de lo que te resulte cómodo, y/o que tan complejas deban ser las acciones a llevar a cabo en un form como asi también de la cantidad de controles que posea. No se si te sirva lo que dije. Pero creo que son cosas que uno debe tener en cuenta. Cuando desea llegar a un código simple, bonito, fácil de mantener, y de reutilizar empieza por los forms... pero es muy común, sobre todo cuando uno se inicia en meter todo en un form... llega el momento en que se hace una pregunta como esta: ¿Y ahora... como partir el código en forma correcta para que pueda seguir siendo operable? Es cuestión de organizarse. Saludos, Última edición por Delphius fecha: 04-10-2007 a las 19:36:15. |
#4
|
||||
|
||||
Creo que no me he sabido explicar con claridad y les expreso mis disculpas.
he pensados algo como
|
#5
|
||||
|
||||
Hola de nuevo.
El planteo que tu deseas aplicar, a mi modo de ver, es un poco errado. No se le puede asignar algo a un form si previamente no ha sido instanciado. Es decir que primero debe venir el f := TForm4.Create(Application) y después la asignación. Como te decía.. una opción es un simple procedimiento. de modo que queda (como ejemplo):
Hay otras opciones un poco mas complejas... Por ejemplo la que ofrece Ian Marrteens en su famoso libro La Cara Oculta de Delphi 4. No recuerdo bien las páginas exactas pero el tema era como mediante simple MostrarModal(1) siendo ese parámetro (en el ejemplo 1) para indicar el modo de baja. Si buscas bajo las palabras clave formas modales y no modales llegarás a buenos resultados. Por ejemplo este: http://www.clubdelphi.com/foros/show...ostrar+modales que fue exactamente el que inicié hace tiempo yo con por el planteo que trata Ian. No se me ocurre otro modo por el momento... si me das un poquito mas de tiempo... la pienso mejor. Saludos, Última edición por Delphius fecha: 04-10-2007 a las 20:21:24. |
#6
|
|||
|
|||
Otra forma puede ser, si usas DataSet's, es al momento de crear o mostrar la forma, verificar el estado del DataSet para saber que estás haciendo, por ejemplo:
Espero que esto junto con lo que te han comentado mensajes arriba, te sirva para darte una idea de como puedes implementar tus formas de edición de datos... Saludos... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Utilización del iif | efelix | MS SQL Server | 11 | 22-01-2007 19:13:42 |
utilizacion trigger | dmagui | Firebird e Interbase | 16 | 10-06-2005 01:38:55 |
Utilización de InoSetup | Tonio | Varios | 7 | 21-11-2004 09:48:39 |
Utilización webs | jymy788 | Varios | 4 | 15-11-2004 17:55:16 |
Utilizacion RichEdit | FNADALO | Impresión | 1 | 27-09-2004 15:30:20 |
|