Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 12-06-2003
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:
Posteado originalmente por delphi.com.ar
...lo que si tu no dejas en claro si quieres guardar todos los componentes del form o solo una parte, si es solo una parte. Si es solo una parte, no se que tan práctico puede ser esto, pero podrías crear un forms sin bordes e insertarlo en tu form...
En las pruebas que hice ayer intenté guardar sólo las componentes dentro de, digamos, un panel pero no me funcionaba. Estudiándole más entendí porque:

El método WriteComponent de TStream trabaja con las subcomponentes, no con los subcontroles. Normalmente, cuando se insertan componentes en tiempo de diseño, todos tienen como "owner" al formulario, incluso cuando se insertan dentro de un control contenedor como un panel. WriteComponent(Panel) guardará el panel y todos los compoenentes que posea-- ninguno en el caso normal.

Pero dado que la intención es guardar los componentes que se creen durante la ejecución bastará pasarle al constructor del componente el panel como parámetro pare que sea éste el "owner". Creo que esta sería la solución ideal.

Por otro lado, es posible usar las rutinas ObjectTextToBinary y ObjectBinaryToText de la unidad "Clases" para que podamos guardar las componentes en formato de texto, tal como se ven cuando escogemos la opción "View as text" en un formulario.

En estos momentos no tengo mucho tiempo pero creo que no sería muy difícil crear una componente TStoreComponent que englobe estas ideas y facilite su uso. La componente tendría la siguiente interfaz:

Código:
TStoreComponent = class(TComponent)
public
  procedure LoadFromFile(FileName: String);
  procedure SaveToFile(FileName: String);

published
  property Component: TComponent;
end;
La insertaríamos en un formulario, asignaríamos la propiedad Component a la componente que desemos guardar y ¡listo!

Si esto lo combinamos con la componente TSizeControl (no estoy seguro del nombre, hace no mucho puse aquí el enlace) que nos permite cambiar tamaño y posición de controles durante la ejecución, tendríamos un modesto editor de formularios.

En fin, sólo algunas ideas.

// Saludos
Responder Con Cita
 



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


La franja horaria es GMT +2. Ahora son las 02:47:51.


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
Copyright 1996-2007 Club Delphi