Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 11-07-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Te pongo un ejemplo sencillo de como podés manejar los objetos creados en ejecución.
Código Delphi [-]
...
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Contnrs;

type
  TForm1 = class(TForm)
    btnLlama: TButton;
    procedure FormShow(Sender: TObject);
    procedure btnLlamaClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    FObjLst: TObjectList;
    function GetCmpt(AName: string): TComponent;
    procedure EditEnter(Sender: TObject);
    procedure EditExit(Sender: TObject);
  public
  end;

var
  Form1: TForm1;

implementation {$R *.dfm}

procedure TForm1.EditEnter(Sender: TObject);
begin
  ShowMessage('Edit Enter');
end;

procedure TForm1.EditExit(Sender: TObject);
begin
  ShowMessage('Edit Exit');
end;

{ Devuelve el componente dado el nombre }
function TForm1.GetCmpt(AName: string): TComponent; 
var
  i: Integer;
begin
  Result:= nil;
  for i:= 0 to FObjLst.Count -1 do
    if TEdit(FObjLst.Items[i]).Name = AName then
      Result:= TComponent(FObjLst.Items[i]);
end;

procedure TForm1.FormShow(Sender: TObject);
var
  TE: TEdit;
  i: Integer;
begin
  FObjLst:= TObjectList.Create;
  for i:= 1 to 5 do  // Crear 5 Edits
  begin
    TE:= TEdit.Create(Self);
    with TE do
    begin
      Name:= 'Edit'+IntToStr(i);
      Width:= 150;
      Height:= 25;
      Left:= 8;
      Top:= i*25+30;
      OnEnter:= EditEnter; // Asignar evento OnEnter
      OnExit:= EditExit;   // Asignar evento OnExit 
      Parent:= Self;
      FObjLst.Add(TE)
    end;
  end;
end;

procedure TForm1.btnLlamaClick(Sender: TObject);
var
  i: Integer;
begin
  // Poner Text = '' en los TEdits creados
  for i:= 0 to FobjLst.Count-1 do
   if Assigned(GetCmpt('Edit'+IntToStr(i+1))) then
     TEdit(GetCmpt('Edit'+IntToStr(i+1))).Text:= '';
  // Poner un texto en Edit1
  if Assigned(GetCmpt('Edit1')) then
    TEdit(GetCmpt('Edit1')).Text:= 'PRUEBA DE TEXTO';
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  FObjLst.Free;  // Liberar memoria
end;
...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Problemas con Variant Mystery Varios 3 27-01-2010 20:26:10
String to Variant MaMu Varios 2 25-08-2008 15:58:06
Array Variant... Perio Varios 0 20-04-2006 15:57:54
Error con variant.dcu donake Varios 3 20-12-2005 11:27:19
Variant, de que tipo? Barzaugc Varios 2 26-08-2005 21:14:30


La franja horaria es GMT +2. Ahora son las 19:09:02.


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