Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-03-2009
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Lo que hace el código es que recorre todos los componentes de un formulario y a todos los que sean TLabel les pone su propiedad enabled a verdadero. Si son 500, a los 500, si son 2, a los 2. Lo mismo se puede aplicar para hacerlos invisibles y se puede aplicar para cualquier tipo de componente y cualquiera de sus propiedades.

Si quisieras solo los primeros 50, tendrías que cambiar las condiciones del For, o utilizar un While. Pero para esto necesitarías saber que número de componentes son los "primeros 50", es decir algo como: "los primeros 50 son los compomentes del 100 al 150".

pero insisto, tener 500 cosas de un mismo tipo me suena a problema de diseño y seguramente existe una mejor manera. Si explicaras un poco más sobre lo que quieres hacer, tal vez alguien podría tener una mejor idea que tener 500 componentes.
__________________


Última edición por ContraVeneno fecha: 19-03-2009 a las 17:37:55.
Responder Con Cita
  #2  
Antiguo 19-03-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por ContraVeneno Ver Mensaje
Pero para esto necesitarías saber que número de componentes son los "primeros 50", es decir algo como: "los primeros 50 son los compomentes del 100 al 150".
Y para eso te podría servir la propiedad Tag de cada label, le asignas un numero y preguntas por esa propiedad si esta entre 1 y 50.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 19-03-2009
maurici0 maurici0 is offline
Miembro
 
Registrado: feb 2009
Posts: 17
Poder: 0
maurici0 Va por buen camino
Gracias por la explciación, eso del componente en donde lo puedo ver?
Responder Con Cita
  #4  
Antiguo 19-03-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por maurici0 Ver Mensaje
Gracias por la explciación, eso del componente en donde lo puedo ver?
Que componente quieres ver, si te te refieres a Component, es una propiedad que tiene un contenedor en tu caso tu formulario ahí estan todos los componentes que tienes en tu formulario.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 19-03-2009
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Código Delphi [-]
 for  i:=componentcount-1 downto 0 do begin
      if (Components[i] is TLabel) and (TLabel(Components[i]).Tag in [1..50])  then begin
           TLabel(Components[i]).Enabled:= True;
      end; //fin if
  end; //fin for

Buena idea la de usar el tag...
creo que sería algo así, ¿o no?
__________________


Última edición por ContraVeneno fecha: 19-03-2009 a las 17:36:23.
Responder Con Cita
  #6  
Antiguo 19-03-2009
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Si utilizaras el código propuesto por ContraVeneno, ten en cuenta que si los Label's están dentro de un panel, Groupbox o algo por el estilo tendras que modificar el código para trabajar con controles anidados, o sea llamar a los famosos procedimientos anidados
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #7  
Antiguo 19-03-2009
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Cita:
Empezado por D&W Ver Mensaje
Si utilizaras el código propuesto por ContraVeneno, ten en cuenta que si los Label's están dentro de un panel, Groupbox o algo por el estilo tendras que modificar el código para trabajar con controles anidados, o sea llamar a los famosos procedimientos anidados
a caray...

Ese código yo lo utilizo para habilitar unos TDBEdits, algunos están directo en el formulario, otros están en un TTabSheet, otros están en otro TTabSheet y dentro de un TGroupBox y de todas formas me los habilita todos...
__________________

Responder Con Cita
  #8  
Antiguo 19-03-2009
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
Así es Contra. Imagino que D&W está pensando en el arreglo Controls que sí depende del contenedor visual.

Por cierto, en VB existen los arreglos de controles con los cuales todo esto sería más sencillo

// Saludos
Responder Con Cita
  #9  
Antiguo 19-03-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, con Component recorre todos los componentes pero con Controls no que debe ser al que se refiere D&W.

Edito.- Se me ha adelantado Roman.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #10  
Antiguo 19-03-2009
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por ContraVeneno Ver Mensaje
a caray...

Ese código yo lo utilizo para habilitar unos TDBEdits, algunos están directo en el formulario, otros están en un TTabSheet, otros están en otro TTabSheet y dentro de un TGroupBox y de todas formas me los habilita todos...
Ahhhh! en el código estás utilizando la propiedad "Components" no "Controls". Entendía que la propiedad "Components" solo funcionaba para los decendientes de TComponents. Que "Controls" era para los objetos visuales, y en esos si tienes que utilizar procedimientos anidados. Ve que cada día se aprende algo nuevo. Gracias por la intencional lección ContraVeneno.

Saludos.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #11  
Antiguo 19-03-2009
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Alguna vez que usé Visual Basic recuerdo que me fueron muy útiles los arrays o vectores de controles...

Me pregunto... ¿Delphi tendrá algo parecido e igual de fácil de usar?
__________________
Herr Heins Faust
Responder Con Cita
Respuesta



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
Convertir String a Fecha Gaim2205 SQL 7 04-12-2008 03:14:10
convertir un date a string airam C++ Builder 2 25-07-2008 18:58:00
convertir string jsanchez Varios 3 31-07-2006 22:23:19
Convertir un String en un método. OscarG OOP 5 19-12-2005 12:52:35
Convertir un string a puntero jnrico Varios 1 27-05-2003 16:29:47


La franja horaria es GMT +2. Ahora son las 07:44:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi