Professional Documents
Culture Documents
Secciones
CCD
Enlaces
Buscar
Trucos
Trabajo
Foros
Trucos
Foros
Palabras de bsqueda
Trucos
Buscar en...
En ttulos y autor
Trabajo
En ttulos te x to y autor
Ordenacin
Enlaces
Fe cha
Ttulo
Autor
Nm e ro
C ate gora
Componentes CCD
Fecha
Wiki
Regstrate
Usuario
Num Ttulo
Categora
Ocultar formulario
enviar
A utor
18/09/12
586
Prueba
Delphi - A plicacin
Yomero
05/03/10
585
Delphi - Varios
Fernando Sols
18/01/10 584
ltimos trucos
06/04/09 582
Delphi 7
Delphi InterBase
Que un CheckListBox funcione como un CheckBox
Trucos
Delphi - Componentes
Delphi XE3
rrf
30/03/09
581
Delphi - Cadenas
Cheerpipe
16/03/09
580
Noche estrellada
Delphi - Grficos
coso
26/02/09
578
escafandra
17/02/09
577
Delphi - Varios
Lord Delfos
28/01/09
576
Delphi - OOP
29/12/08
575
escafandra
26/12/08
574
Delphi - OOP
Novedades
05/12/08
572
Temas de hoy
01/12/08
571
29/11/08
570
28/11/08
525
Funcin ftp_upload_file
26/11/08
560
30/10/08
104
30/10/08
342
DCU no encontrado
30/10/08
524
Funcin recordcount
Pass
Recurdame
Ingresar
Nuevos mensajes
A jedrez
27/10/08
516
Graficas 3D
Datos del
autor
A utor
Siguiente
coso
coso
Julin
Khronos
Delphi - OOP
Julin
Julin
PHP - Varios
Julin
Delphi - Grficos
coso
7
Fecha ltima revisin
05/12/2
coso
pdfcrowd.com
Enviado por
coso
Este componente muestra como trabajar con una lista de objetos neutros mediante arreglos o arrays, asi como crear un objeto m
clase, o bien el nombre de clase desde una cadena
Delphi [-]
unit caja;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,extctrls,typinfo;
type TCaja = class(TScrollBox)
public
objetos : array of TObject;
procedure Add(AClass : TPersistentClass);
constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
end;
procedure Register;
implementation
constructor TCaja.Create(AOwner : TComponent);
begin
inherited Create(AOwner);
setlength(objetos,0);
end;
destructor TCaja.Destroy;
var
i : integer;
begin
for i := High(objetos) downto 0 do
objetos[i].Free;
setlength(objetos,0);
inherited Destroy;
end;
procedure TCaja.Add(AClass : TPersistentClass);
var
ComponentMetaClass : TComponentClass;
l : integer;
pdfcrowd.com
j : integer;
w : TControl;
begin
registerclass(AClass);
ComponentMetaClass := TComponentClass(AClass);
l := length(objetos);
setlength(objetos,l+1);
objetos[l] := ComponentMetaClass.Create(self);
if objetos[l] is TControl then
begin
w := objetos[l] as TControl;
w.Name := w.ClassName + inttostr(l);
for j := l - 1 downto 0 do
if objetos[j] is TControl then
begin
w.Top := (objetos[l-1] as TControl).Top + (objetos[l-1] as TControl).Height+5;
break;
end;
w.Parent := self;
w.Left := 10;
end;
end;
procedure Register;
begin
RegisterComponents('test', [TCaja]);
end;
end.
y un ejemplo de uso
Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
begin
for i := 0 to 10000 do
begin
Caja1.Add(TDBGrid);
pdfcrowd.com
Caja1.Add(TShape);
Caja1.Add(TButton);
Application.ProcessMessages;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
registerclasses([TLabel,TDBGrid,TShape,TQuickRep]);
try
Caja1.Add(GetClass(InputBox('clase','clase (tiene que estar previamente registrada en la aplicacin)','TLabel
except
MessageDLG('probablemente esta clase no esta registrada',mtError,[mbOk],0);
end;
end;
Enviar tu comentario
pdfcrowd.com
Delphi Firebird
Juegos Para PC
Para El Dinero
Para Jugar
pdfcrowd.com