Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Formularios dentro de otros (https://www.clubdelphi.com/foros/showthread.php?t=82021)

gabriel.alcanta 16-01-2013 17:25:15

Formularios dentro de otros
 
Hola, me he leído casi la totalidad de hilos abiertos relacionados con los FORMS dentro de otros y continuo con mi problema. Estoy migrando de un lenguaje de mayor nivel (xxx) a Delphi y me he encontrado con sinfín de cuestiones que he ido resolviendo mas o menos, para esta necesito vuestra ayuda pues solo no puedo.

Tengo un FORM PRINCIPAL en el cual se maneja toda la aplicación. Hasta aquí todo bien.

Hay un segundo form, se llama FORM MENU que viene siendo como una barra de enlaces rápidos a otros formularios (FORM VAR). Mi objetivo es acoplar tantos el FORM MENU como los FORM VAR en el FORM PRINCIPAL, de modo, que en la izquierda del FORM PRINCIPAL este el FORM MENU y a la derecha el FORM VAR según el botón de FORM MENU que se clique y que cada vez que se elija otra opción, cambien el FORM VAR por el determinado.

El cambio por lo que he leido es sencillo, tiene su truco en ver o no ver, lo que no he conseguido es acoplarlo, si se puede claro.

Gracias de antemano.

avmm2004 16-01-2013 17:53:13

No entiendo bien lo que quieres conseguir pero si miras un poco formularios SDI y MDI puede servirte.
Otra opción sería utilizar la herencia visual con Frames.
Mira a ver si te vale.

gabriel.alcanta 16-01-2013 18:07:23

Si no lo entiendes es que me he explicado muy mal, voy a probar eso que me has dicho. Despues contesto.

gabriel.alcanta 16-01-2013 18:12:24

Vale, he probado eso del MDI y es algo parecido lo que deseo. Sabes como puedo hacer para determinar el numero de formularios abiertos cuando se inicie la aplicacion? Que no se puedan cerrar y que tengan un tamaño fijo?

Al González 16-01-2013 20:18:03

Cita:

Empezado por gabriel.alcanta (Mensaje 453497)
[...] lo que no he conseguido es acoplarlo, si se puede claro.

Claro que se puede acoplar. En la ayuda de Delphi puedes encontrar varios temas con la palabra "dock". Todos los objetos derivados de la clase TControl poseen un método llamado ManualDock. Este es un breve ejemplo de cómo lo uso para insertar (acoplar) en el formulario principal otro recién creado:
Código Delphi [-]
procedure TfmCustomModule.FormCreate(Sender: TObject);
begin
  inherited;
  // Acoplamos ("dock") el formulario dentro del principal y lo hacemos visible
  ManualDock (fmCustomMain);
  Show;
end;

Ojalá te sea útil lo anterior. :)

Una pregunta, cuando dices:
Cita:

Empezado por gabriel.alcanta (Mensaje 453497)
Estoy migrando de un lenguaje de mayor nivel (xxx) a Delphi y me he encontrado con sinfín [...]

¿A qué te refieres con "mayor nivel"? :confused:

Saludos.

Al González.

gabriel.alcanta 17-01-2013 16:02:03

Voy a probar eso que me has dicho. Con eso de acomplar, los forms no cambiaran su tamaño programado?

Respeto a lenguajes de "Mayor nivel" me refiero a que estas mas alejados del ensamblador, algo que me enseñaron en la universidad. No se si me he explicado.

Al González 17-01-2013 16:17:33

Cita:

Empezado por gabriel.alcanta (Mensaje 453571)
[...]los forms no cambiaran su tamaño programado?

Esto lo puedes controlar con la propiedad Align del formulario que será acoplado dentro de otro, o bien el parámetro ControlSide del propio método ManualDock. ^\||/

Cita:

Empezado por gabriel.alcanta (Mensaje 453571)
[...] lenguajes de "Mayor nivel" me refiero a que están mas alejados del ensamblador [...]

Sí, entiendo. Lo imaginé, pero dije: tal vez Gabriel cree en esos mitos anti-Delphi que circulan en la Red. Menos mal que era otra cosa. :)

gabriel.alcanta 17-01-2013 16:32:59

Mitos "Anti-Delphi" no sabia que pudiese existir tal cosa! :O Con esto que me has facilitado, voy a pelearme un rato, al final del día vuelvo a escribir con la conclusión de la pelea, si gane o perdí!

Gracias Al Gonzáles

Delphius 18-01-2013 03:26:49

Cita:

Empezado por gabriel.alcanta (Mensaje 453497)
Estoy migrando de un lenguaje de mayor nivel (xxx) a Delphi y me he encontrado con sinfín de cuestiones que he ido resolviendo mas o menos, para esta necesito vuestra ayuda pues solo no puedo.

Ummm... ¿Mayor nivel que Delphi?

Cita:

Empezado por Al González (Mensaje 453518)
¿A qué te refieres con "mayor nivel"? :confused:

Yo también me hago esa pregunta.

Cita:

Empezado por gabriel.alcanta (Mensaje 453571)
Respeto a lenguajes de "Mayor nivel" me refiero a que estas mas alejados del ensamblador, algo que me enseñaron en la universidad. No se si me he explicado.

Si, te explicaste. Y lo que dejaste en evidencia es que no tienes ni paupérrima idea de lo que es en realidad "Alto Nivel". ¡Claro, como si Delphi no fuera un Lenguaje de Alto Nivel!. Yo veo fors, whiles, etc ¿eso no es de Alto Nivel entonces? A claro... como en Delphi también se puede escribir en ensamblador entonces solamente es de bajo nivel.

Cita:

Empezado por Al González (Mensaje 453574)
Sí, entiendo. Lo imaginé, pero dije: tal vez Gabriel cree en esos mitos anti-Delphi que circulan en la Red. Menos mal que era otra cosa. :)

No sólo es el mito que circula en la red, sino que los mismos profesores mal habidos y encerrados en su gran ignorancia venden la imagen de que Delphi es pura mierda.

Y luego estudiantes como gabriel.alcanta lo repiten como loro.

No lo tomes a mal gabriel.alcanta pero informate mejor de lo que es Delphi y de lo que es capaz de hacer. Ha por cierto, mejor repasa lo que es Alto Nivel. :D

Saludos,

nlsgarcia 18-01-2013 05:12:01

gabriel.alcanta,

Cita:

Empezado por gabriel.alcanta
...me he leído casi la totalidad de hilos abiertos relacionados con los FORMS dentro de otros y continuo con mi problema...

Cita:

Empezado por gabriel.alcanta
...he probado eso del MDI y es algo parecido lo que deseo...

Cita:

Empezado por gabriel.alcanta
...lo que no he conseguido es acoplarlo...

Cita:

Empezado por Al González
Claro que se puede acoplar...

Revisa estos links:
En los links anteriores se explica lo comentado por Al González, para mayor facilidad realice el ejemplo de los links con algunas adiciones que facilitan su comprensión. El ejemplo esta disponible en el link: http://terawiki.clubdelphi.com/Delph...Forms+Dock.rar

También puedes ver un ejemplo de formularios MDI en el link: http://terawiki.clubdelphi.com/Delph...Selectivos.rar

Cita:

Empezado por gabriel.alcanta
Sabes como puedo hacer para determinar el numero de formularios abiertos cuando se inicie la aplicacion? Que no se puedan cerrar y que tengan un tamaño fijo?

Revisa este código:
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var
   NumForms : Integer;
   Msg : String;
begin
   Msg := 'El Número de Forms es: ' + IntToStr(Screen.FormCount-1);
   MessageDlg(Msg, mtInformation,[mbOK], 0);
end;
El código anterior muestra el número de formularios activos.

Revisa este código:
Código Delphi [-]
BorderStyle := bsDialog;
BorderIcons := [];
El código anterior configura el formulario activo a un tamaño fijo (No redimensionable) y elimina los botones de la barra del formulario.

Nota: Todo el código mostrado esta en el ejemplo del primer link.

Con respecto a Delphi te sugiero visitar estas páginas:
Adicionalmente te sugiero revisar estos libros:
Cita:

La cara oculta de Delphi 4, Autor Ian Marteens: http://terawiki.clubdelphi.com/Delph...phi_4_pdf_.zip

Borland Delphi 6 Developer's Guide, Autores: Steve Teixeira And Xavier Pacheco.

La Biblia de Delphi 7, Autor: Marco Cantu.
Los link anteriores te darán una mejor perspectiva de Delphi. Igualmente el Club Delphi posee una extensa base de conocimiento sobre diversos temas de programación en Delphi.

Espero sea útil :)

Nelson.

gabriel.alcanta 18-01-2013 17:27:25

Delphius, entiende que apenas tengo poco mas de tres meses aprendiendo Delphi y que prefiero programar con lenguajes mas cercanos al ensamblador ya que he de trabajar con grandes cantidades de datos y me gusta hacerlo lo mas rápido posible. Aun así, para deshacerme de toda ignorancia respecto a Delphi, escríbeme todo lo que debo de saber, lo leeré con gran interés, te lo aseguro.

nlsGarcia, muchas gracias por tu respuesta tan elaborada!

Delphius 18-01-2013 18:39:04

Cita:

Empezado por gabriel.alcanta (Mensaje 453649)
que prefiero programar con lenguajes mas cercanos al ensamblador

Cita:

Empezado por gabriel.alcanta (Mensaje 453497)
stoy migrando de un lenguaje de mayor nivel (xxx) a Delphi

Como que algo no cuadra... ¿Al final vienes de un lenguaje de Alto Nivel o de Bajo Nivel? :rolleyes:
Si ya llevas tres meses con Delphi y estás viendo que su gramática, es más... todo su IDE mismo, tiene el aspecto de ser un Lenguaje de Alto Nivel y cercano al idioma "natural" (en comillas porque hay más de un idioma... :rolleyes:) que habla el ser humano, ¿cómo es que puedes afirmar y ostentar decir que Delphi no es de Alto Nivel?
No pasa por ser principiante o avanzado... se puede estar 10 años con Delphi y ser un completo novato. Lo que no se puede aceptar, es que si estás estudiando la cátedra de Lenguajes que confundas un Lenguaje de Alto Nivel con uno de Bajo Nivel.
Y lo que apreció aquí es que o bien estás entendiendo mal o tu profesor les está haciendo creer que Delphi es poca cosa. Para material sobre Delphi tienes el propio foro. Es una biblioteca completísima.

Saludos,

Delphius 18-01-2013 18:44:34

Para encarar tu problema creo que lo más apropiado sería que utilices Frames. Recuerdo que ya hay hilos sobre este tema.
Básicamente el TFrame es un formulario al que se lo puede insertar en cualquier form y reutilizar. Una vez que diseñas el frame, y con su código dentro de él, basta con crearlo y colocarlo en el formulario y no tienes que hacer más nada. Luego puedes ocultarlo/mostrarlo o hasta incluso crear y liberar en tiempo de ejecución.

Saludos,

nlsgarcia 18-01-2013 19:01:04

gabriel.alcanta,

Cita:

Empezado por gabriel.alcanta
...prefiero programar con lenguajes mas cercanos al ensamblador ya que he de trabajar con grandes cantidades de datos y me gusta hacerlo lo mas rápido posible...

Revisa estos links:
Cita:

Learning Assembler with Delphi, Author Ian Hodger.
http://delphi.about.com/library/bluc/text/uc052501a.htm

Learning Assembler with Delphi, Author Ian Hodger.
http://terawiki.clubdelphi.com/Delph...ith+Delphi.rar
Los links anteriores te permitirán usar Delphi con Assembler y quizás te sirvan como transición entre un lenguaje de bajo nivel como el Assembler y uno Multi-Nivel como Delphi.

Te sugiero revisar toda la información y ejemplos que te comente en el Msg #10, creo que te serán de mucha utilidad. Estoy seguro que Delphi sera una gran herramienta para tus proyectos por su versatilidad, estabilidad, potencia de programación y velocidad de ejecución. El código de Delphi es realmente rápido, tanto o más que código escrito en C++.

Espero sea útil :)

Nelson.

gabriel.alcanta 21-01-2013 18:34:03

Gracias de nuevo!

Informaros que tras varias pruebas y ensaño con sus correspondientes errores, he conseguido hacer lo que me proponio con frames y paneles!! :D

Muchas gracias por las molestias!!


La franja horaria es GMT +2. Ahora son las 14:25:57.

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