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 09-03-2009
Willo Willo is offline
Miembro
 
Registrado: jun 2006
Posts: 116
Poder: 18
Willo Va por buen camino
pasar el nombre de una forma como parametro

Buen dia a todos;

como podria pasarle el nombre de una forma como parametro a una funcion/procedimiento y tratarla como un Tform valido ahi?; es decir, poder modificar su anchura y altura, desplegarla, etc.

Gracias de antemano!

Saludos
Responder Con Cita
  #2  
Antiguo 09-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si le pasas el nombre, luego puedes recorrer los forms abiertos (revisa la variable Screen) y comprobar cual es el que coincide con el nombre del parámetro.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 10-03-2009
Willo Willo is offline
Miembro
 
Registrado: jun 2006
Posts: 116
Poder: 18
Willo Va por buen camino
Gracias por la respuesta Neftali;

en mi caso la forma en cuestion no va a estar abierta, de hecho la funcion a la que le paso el nombre, la abre....

Esta es la funcion actual, usando como parametro un Tform; quiero cambiarlo a un string...

Código:
procedure Tfmenu.Abreforma(F: TForm; ParentControl:TWinControl);
begin
     if (GformaActiva<>F) then
     begin
          if Assigned(GformaActiva) then
              GformaActiva.Close;
          F.BorderStyle  := bsNone;
          F.Parent       := ParentControl;
          F.Align        := alClient;
          GformaActiva   := F;

          if skindata1.active then
              skindata1.AddNestForm(self,F);

          F.Show;
     end
     else
          F.Show;
end;
Responder Con Cita
  #4  
Antiguo 10-03-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
[quote=Willo;340766

Esta es la funcion actual, usando como parametro un Tform; quiero cambiarlo a un string...
[/quote]

Hola, si quieres pasar el form como String entonces tienes que utilizar FindComponent.

Código Delphi [-]
 
procedure Tfmenu.Abreforma(StrForm: String .....);
var
 Forma :TComponent;
begin  
   Forma := Application.FindComponent(StrForm);
   ..........................
   Forma.BorderStyle  := bsNone;
   Forma.Parent       := ParentControl;
   Forma.Align        := alClient;
   ........................... 
   Forma.Show;
end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 10-03-2009
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
ZArko Gajic tiene precisamente un ejemplo de esto:

Crear una forma a partir de su nombre

Ahi viene precisamente lo que quieres, te enseña como hacer una función " CreateFormFromName(s);" que recibe una cadena que es el nombre del form.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #6  
Antiguo 10-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Willo Ver Mensaje
en mi caso la forma en cuestion no va a estar abierta, de hecho la funcion a la que le paso el nombre, la abre...
En ese caso la opción de buscarlo está claro que no sirve.
Para crearlo a partir del nombre, debes tener el algun sitio la correspondencia entre el nombre y el apuntador a la clase que te permita crearlo.

O lo matienes tú (por ejemplo una lista con nmbre y apuntadores a las clases) o como se ve en el ejemplo de Zarko Registrando las clases de los formularios (RegisterClass) y accediendo luego a ellas por RTTI (FindClass).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 10-03-2009
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
Aqui en casa, también tenemos algunos ejemplos

http://clubdelphi.com/foros/showpost...85&postcount=2
http://clubdelphi.com/foros/showpost...11&postcount=4

// Saludos
Responder Con Cita
  #8  
Antiguo 10-03-2009
Avatar de Kipow
Kipow Kipow is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guatemala
Posts: 329
Poder: 19
Kipow Va por buen camino
Yo utilizo con mucho exito la opcion que das en el link 2 roman, por cierto gracias jaja creo que la uso desde ya hace un par de añ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
pasar como parámetro nombre de un componente joanajj Varios 3 04-07-2007 22:25:49
Como Pasar Variables de Forma a Forma con delphi.net ASP ASAPLTDA Internet 2 02-07-2007 16:26:41
Parámetro como nombre de campo Loviedo SQL 4 12-04-2007 19:49:35
Asignar como parámetro el nombre de la tabla PINO72 Firebird e Interbase 4 20-03-2005 20:00:11
pasar el nombre de una tabla en un parametro saul saldaña Firebird e Interbase 2 11-06-2004 20:05:55


La franja horaria es GMT +2. Ahora son las 08:01:00.


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