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
  #5  
Antiguo 08-02-2005
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
Si vas a crear controles por código y requieres acceder a ellos sistemáticamente, no tiene caso abusar de técnicas que sirven para cuando uno no tiene control sobre la creación de los componentes. Código como

Código Delphi [-]
for I := 0 to 20 do
  FindComponent('Edit' + IntToStr(I))

puede verse muy claro pero es muy ineficiente. FindComponent lo que hace es recorrer todos los componentes hasta encontrar uno con el nombre dado. El resultado: una innecesaria doble iteración de todos los componentes.

Mejor crea las estructuras de datos que necesites para el efecto. Por ejemplo:

Código Delphi [-]
type
  TTupla = record
    Edit: TEdit;
    RadioButton: TRadioButton;
  end;

var
  Tuplas: array of TTupla;

De esta forma almacenas los controles creados en el arreglo dinámico Tuplas y cuando requieras recorrerlos simplemente harás:

Código Delphi [-]
for I := Low(Tuplas) to High(Tuplas) do
begin
  {
    Haces lo que requieras con
      Tuplas[i].Edit y Tuplas[i].RadioButton
  }
end;

EDITO:

Aclaro un poco: Los controles los creas igual que hasta ahora pero a su vez creas una tupla por cada uno y asignas los controles creados a los elementos de la tupla o incluso directamente:

Código Delphi [-]
// Asignas el número de controles que requieras
SetLength(Tuplas, 20);

Tuplas[0].Edit := TEdit.Create(...);
Tuplas[0].RadioButton := TRadioButton.Create(...);

....

Como verás, de esta forma no requieres asignar ningún nombre a los Edits y RadioButtons.

// Saludos

Última edición por roman fecha: 08-02-2005 a las 17:59:15.
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


La franja horaria es GMT +2. Ahora son las 21:35:36.


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