Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Exisite un objeto tipo lista contenedor de objetos? (https://www.clubdelphi.com/foros/showthread.php?t=67564)

flystar 23-04-2010 03:17:50

Exisite un objeto tipo lista contenedor de objetos?
 
Saludos hermanos:

Estoy tratando de ganar tiempo generando un procedimiento que me auxilie a validar Tedits de un formulario en cuestiones de "no valores vacios" o quizas que no contengan ciertas cosas, ustedes saben, lo clasico de las validaciones.

Debido a que los formularios pueden tener una diferente cantidad de parametros por que quizas sean 10 Tedits a validar o quizas solo 4, entonces
pienso que podria pasar como parametro una clase de array dinamico u objeto tipo array.
No se si exista algun objeto parecido al TStringList pero que pueda contener objetos visuales como un Tedit por ejemplo.

Pero si eso existe entonces puedo enviar dicho "objeto array" al procedimiento y entonces agarrar uno por uno de los elementos y verificar si contienen datos validos.

Huy no se si me di a entender, Gracias. :confused: :eek:

Lord Delfos 23-04-2010 03:32:55

Bueno, existe la TObjectList, de la unidad Contnrs. No sé si será lo que andás buscando. Básicamente es como otras T_algunacosa_List, pero con objetos.

Importante: Notá que si es creado con Create; o Create(True) la lista va a destruir los objetos cuando hagas un Delete. Que es precisamente lo que vos NO querés que pase.

movorack 23-04-2010 03:49:12

qhubo...

No se si entendí bien pero que tal esto?

Código Delphi [-]
procedure ValidarEdits(Edits : Array of TEdit);
  var
    i : integer;
begin
  for i := 0 to Length(Edits)-1 do
  begin
    Edits[i].Text; //Haces lo que sea con ellos...
  end;
end;

para llamar al procedimiento...

Código Delphi [-]
  ValidarEdits([EditNombre, EditApellido, EditCorreo]);

flystar 23-04-2010 03:58:24

Las dos soluciones son muy interesantes y pueden funcionar muchas gracias a ambos !!
 
Las dos soluciones son muy interesantes y pueden funcionar

muchas gracias a ambos !!

Caro 23-04-2010 04:53:09

Hola flystar, otra forma es que recorras los componentes que tienes en tu formulario con Components, si no haces referencia a ningún contenedor, te va a tomar los componentes de tu formulario.

Código Delphi [-]
 for ind:=0 to ComponentCount-1 do
  begin
   if Components[ind] is TEdit then
    if TEdit(Components[ind]).Text='' then
      showmessage('El edit '+TEdit(Components[ind]).Name+' esta vacío');
  end;

Saluditos


La franja horaria es GMT +2. Ahora son las 00:50:12.

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