![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Es una caso atípico, hay que decir.
Bueno, no tengas prisas, piensa bien el diseño, antes de meterte de lleno, porque tal vez luego se torne poco práctico. Yo tendría en cuenta: Cuantos tipos diferentes de "formularios" va a diseñar el usuario. No es lo mismo si hablamos de 6 o 7, que si estamos hablando del orden de 50. El tema de recnstruir todo el interface del regitro puede ser muy lento. Haz unas pruebas primero. Una opción (SI HAY POCOS TIPOS DIFERENTES) sería crear un único "formulario" con los diferentes tipos uno en cada capa (estoy pensando en un PageControl con diferentes pestañas o un TNoteBook); La ventaja es que lo crearía al principio y luego dependiendo del tipo de registro, sólo deberías cambiar de pestaña (cosa que sería bastante rápida). ¿Me explico? Esto se convierte en poco viable si tienes muchos tipos diferentes, pero si hay 4 o 5 puede ser una solución muy "ágil". En cuanto al diseño, junto con los ejemplos del componente que comentas hay una demo de lo que podría ser un "FormDesigner"; No está completo, pero te puede servir de guía para ver cómo se crean diferentes tipo de controles. Hay puedes ver cómo crearlos y redimensionarlos en ejecución. Para almacernarlos en Base de Datos, tal vez la opción de utilizar Streams sea la más práctica (y más rápida); Revisa LoadComponent y WriteComponent de la clase TStream.
__________________
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. |
|
#2
|
||||
|
||||
|
Además revisa el ejemplo que hay en este hilo. Muestra cómo puedes guardar un form completo, incluyendo todos los componentes que tenga dentro de la forma:
Código:
object Form1: TForm1
Left = 130
Top = 56
Width = 553
Height = 481
ActiveControl = Button3
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Visible = True
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 312
Top = 40
Width = 79
Height = 13
Caption = 'Esto es un LAbel'
end
object Memo1: TMemo
Left = 0
Top = 192
Width = 545
Height = 262
Align = alBottom
ScrollBars = ssBoth
TabOrder = 0
end
object Button1: TButton
Left = 288
Top = 8
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 1
end
object Button2: TButton
Left = 96
Top = 8
Width = 113
Height = 25
Caption = 'Button To String'
TabOrder = 2
OnClick = Button2Click
end
object Button3: TButton
Left = 96
Top = 40
Width = 113
Height = 25
Caption = 'Form To String'
TabOrder = 3
OnClick = Button3Click
end
object Button4: TButton
Left = 96
Top = 72
Width = 113
Height = 25
Caption = 'Memo to String'
TabOrder = 4
OnClick = Button4Click
end
object CheckBox1: TCheckBox
Left = 288
Top = 80
Width = 97
Height = 17
Caption = 'CheckBox1'
TabOrder = 5
end
end
__________________
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. |
|
#3
|
|||||
|
|||||
|
Cita:
Cita:
Cita:
).Lo último que se me había ocurrido era meter marcos (frames) con templates prediseñadas, porque me doy cuenta de que lo de diseñar en tiempo de ejecución me va a traer más de un quebradero de cabeza .Cita:
![]() Cita:
En cuanto lo otro que comentaba, lo de la cinta sin fin, al final lo he conseguido más o menos. Y he de admitir que me he sorprendido con la apariencia, porque va muy suave el desplazamiento, y eso que no he utilizado técnicas de doble buffer para dibujarla (es como si Delphi 2006 implementara de alguna forma el doble buffer en este tipo de movimientos... raro). El caso es que utilizo 2 paneles sobre un tercero. una barra de scroll vertival los hace bajar. El panel contenedor tiene el tamaño de uno de los paneles contenidos. Cuando, haciendo scroll, se va a rebasar el segundo panel, este segundo se pone arriba, en el lugar del primero, y se puede seguir haciendo scroll. El resultado es que le dices cuántos paneles va a contener (es decir, cuántos registros tiene la base de datos maestra) y puedes hacer scroll sobre esos dos paneles con apariencia de que hay cientos ![]() En fin, voy a seguir investigando. Muchas gracias por tu tiempo y tus ideas ![]() Última edición por Chandra fecha: 09-07-2007 a las 17:09:49. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Problemas con ejecusion de DTS desde Delphi | Roilo | MS SQL Server | 1 | 23-05-2007 09:37:43 |
| controles en tiempo de ejecución verlos como si estubieran en tiempo de diseño | gulder | Varios | 7 | 21-04-2007 22:57:30 |
| Resaltar Foco de objetos DBAware | Mauro.NET | OOP | 1 | 05-08-2005 21:38:30 |
| Algun componente Dbaware que hayan comprobado que puede guardar imagenes jpg en MYSQL | delphivan | MySQL | 0 | 30-05-2005 16:37:37 |
| DBDateEdit de Rx DBAware | javiermorales | OOP | 5 | 09-02-2004 13:26:00 |
|