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 31-05-2007
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 18
totote Va por buen camino
Unhappy aplicacion con 2 form

buenas gente, quisiera saber como hago para que una aplicacion tenga mas de un form, lo que intento hacer es una grilla con datos de un db, ponerle una barra de menu y una de las opciones de la barra es agregar dato, cuando hago click ahi quiero que me aparezca lo que seria el form2 y el form1 se quede inactivo, cuando termino con la carga de datos que se cierre el form2 y se vuelva a habilitar el form1, si alguien me puede ayudar gracias
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita
  #2  
Antiguo 31-05-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Para que se muestre un nuevo from hay varias formas una:
Código Delphi [-]
  FForm2:=TFForm2.Create(self);
   try
  FForm2.ShowModal;
   finally
  FForm2.Free;
   end;
No se si es esta tu pregunta, tal vez si la amplias un poco.
Saludos
Responder Con Cita
  #3  
Antiguo 31-05-2007
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 18
totote Va por buen camino
Talking puede ser asi?

puede ser asi, xq me funciona pero no se si es un buen uso de codigo :P

para llamar el formulario:
Código Delphi [-]
procedure TForm1.Agregar1Click(Sender: TObject);
begin
  form3.Show;
  form1.Enabled:= false;
  form3.Enabled:= true;
end;

para volver al formulario principal:
Código Delphi [-]
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  form1.Enabled:= true;
  form3.Enabled:= false;
  form3.Hide;
end;
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita
  #4  
Antiguo 31-05-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Hola totote, has uso del ShowModal en lugar del solo Show.

Código Delphi [-]
procedure TForm1.Agregar1Click(Sender: TObject);
begin
  form3.ShowModal;
end;

En Form3 debes tener un botón que cierre form3

Código Delphi [-]
procedure TForm3.SalirClick(Sender: TObject);
begin
  Close;
end;

Edito: Como ya muy bien te lo había comentado mi amigo Caral

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 31-05-2007
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 18
totote Va por buen camino
Thumbs up eso hace esto?

eso por lo que veo hace lago asi como ventana activa, mientras este activada el resto se desabilita, me ahorraria el codigo de activar y desactivar los formularios no? grax les debo una hermano o hermano jeje :P
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita
  #6  
Antiguo 01-06-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Como dice el maestro egostar, es mejor usar ShowModal, pero, aqui siempre hay un pero, hay que tener en cuenta una cosa:
Cuando se hace un proyecto este va creciendo en cuanto a codigo y forms, puede poseer muchos de estos, si te fijas en el proyecto, en el unit de este, veras que todos se inician con la aplicacion, que pase, que a medida que crezca esta, se va haciendo mas lento el arranque del programa, porque tiene que iniciar cada form, lo uses o no, por eso uso el codigo que puse al pricipio y en proyect options, paso de la parte auto create forms a la parte Available forms los que no inicien el programa, con esto reduzco el tiempo de arranque mucho.
Bueno esto te lo comento nada mas para que lo tengas en cunta y conozcas un poco mas Delphi.
Saludos
Nota: Maestro y amigo egostar, siempre atinado, que envidia.
Responder Con Cita
  #7  
Antiguo 01-06-2007
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 18
totote Va por buen camino
Smile que buen dato

gracias Caral por el dato como digiste es bueno saber algo mas de delphi ahora lo que me queda es averiguar bien como funciona, si me podrias pasar un tutorial de como hacerlo desde cero asi queda bien aprendidito jeje
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita
  #8  
Antiguo 01-06-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Club Delphi y preguntar.
Bueno tambien esta el libro la cara oculta de delphi, etc.
Saludos
Responder Con Cita
  #9  
Antiguo 01-06-2007
Avatar de marcosl
marcosl marcosl is offline
Miembro
 
Registrado: may 2007
Ubicación: Buenos Aires, Argentina.
Posts: 27
Poder: 0
marcosl Va por buen camino
solo opino..

Si esta perfecto lo que dice Caral hoy por hoy hay proyectos que puede tener decenas de formularios, por eso esta bueno liberar la memoria etc etc pero en el caso de totote solo quiere usar dos formularios, por que complicarle la vida, asi que por ella opto por el codigo aportado por Egostar (Show o ShowModal) simple y sin complicacion.
__________________
"Estos son mis principios. Si no le gustan, no importa: tengo otros..."
Responder Con Cita
  #10  
Antiguo 01-06-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
La idea de estas respuestas es hacerlas un poco generales, recuerda que no solo totote va a leer este hilo, otros lo haran y tal vez tengan a bien aprender a hacer lo que mencione, es solo dar un poco mas de informacion.
Saludos
Responder Con Cita
  #11  
Antiguo 01-06-2007
Avatar de marcosl
marcosl marcosl is offline
Miembro
 
Registrado: may 2007
Ubicación: Buenos Aires, Argentina.
Posts: 27
Poder: 0
marcosl Va por buen camino
Si si.

totalmente deacuerdo con vos Caral por eso el titulo de mi comentario fue "Solo Opino" y dentro de el hay cosas como "hay proyectos que puede tener decenas de formularios" haciendo referencia al poder de tu pedacito de codigo, pero como dice mi firma...

saludos que esten toddos bien frente a un monitor me voy a seguir leyendo C#.
__________________
"Estos son mis principios. Si no le gustan, no importa: tengo otros..."
Responder Con Cita
  #12  
Antiguo 02-06-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
De todos modos lo que dice Caral es una muy buen práctica que los nuevos programadores deben aprender en sus inicios. Finalmente no pasa nada si lo haces con 1 o 2 forms, pero que tal cuando tengas 40 o 50, si lo haces como rutina nunca tendras que preocuparte por ese detalle.

Rutina:

1.- Crear un nuevo form en el IDE y ponerle nombre empezando por F (Fnuevocliente, FVisor..etc.).
2.- Guardar la unidad añadiendo una U al nombre del form: (UFNuevoCliente, UFVisor...etc.)
3.- Abrir Project-Options y quitar el form del autocreate
4.- Ir a donde voy a llamar al form y meter el try...finally (puedes usar el Control-J y escoger la plantilla que ya trae Delphi.

Haciendo siempre esto nunca se tienen problemas por exceso de forms además de que el código queda mas que legible
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #13  
Antiguo 02-06-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por marcosl
saludos que esten toddos bien frente a un monitor me voy a seguir leyendo C#.
Eso fue advertencia a amenaza estimado marcosl mira que aqui hay muchos anti MS.

No te creas, es solo para darte la bienvenida a este club, disfruta tu permanencia y de paso te invito a leer nuestra guia de estilo y la otra guia de estilos.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #14  
Antiguo 02-06-2007
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 18
totote Va por buen camino
Thumbs up nunca es malo un poco de info

como ya dije muchas gracias por la ayuda y los datos, tanto de caral como de egostar, tienen razon azidrain en lo de educar a los programadores que recien nos iniciamos, y tambien tiene razon marcosl en que por ahi tratar de adquirir tantos conocimientos de una puede ser medio chokante y hasta en algunos casos terminar sin entender nada, pero me parecio bien que caral fundamentara su codigo, y para dejarlo como dato para tener en cuenta. saludos
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita
  #15  
Antiguo 02-06-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
Una buena costumbre apenas instalamos Delphi:

Abrir Tools|Environment Options, y en la pestaña Designers desactivar la casilla "Auto create forms and data modules"

Así, cada nuevo proyecto que iniciemos, pondrá sólo el formulario principal en elAuto Create y todos los demás en Available.

// Saludos
Responder Con Cita
  #16  
Antiguo 03-06-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Jajajaja me ganaste el post Roman...ni hablar..
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #17  
Antiguo 24-07-2007
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 18
totote Va por buen camino
vuelta la burra al trigo

volviendo al tema, en el primer post de caral posteo este codigo

Código Delphi [-]

FForm2:= TFForm.Create(self);
try
   FForm2.ShowModal;
finally
   FForm2.Free;
end;

eso lo que haria es crear "dinamicamente" un formulario, seria cargar un formulario ya creado en memoria no?

si es asi, la pregunta es, como hago para que delphi no me los cargue en memoria al inicio?

saludos y espero que esten todavia :S
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita
  #18  
Antiguo 25-07-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
La respuesta la tienes en este mismo hilo en el post 12 de AzidRain.
Saludos
Responder Con Cita
  #19  
Antiguo 25-07-2007
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 18
totote Va por buen camino
ahhh okis grax caral
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
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
Form contenedor de otra aplicacion vejerf Varios 14 08-07-2007 17:13:32
Aplicacion sin form que maneje eventos Sotrono Varios 10 10-10-2005 16:17:57
Aplicacion sin form Sotrono Varios 6 12-09-2005 21:07:13
Crear una aplicacion sin form kolokol Varios 5 04-06-2004 22:57:52
Hacer una aplicación sin form DarkByte Varios 13 23-02-2004 00:10:14


La franja horaria es GMT +2. Ahora son las 21:22:05.


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