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
maurici0 maurici0 is offline
Miembro
 
Registrado: feb 2009
Posts: 17
Poder: 0
maurici0 Va por buen camino
Exclamation Convertir Texto a String

Resuelto

Hola a todos me ha sugido una duda.

Hay alguna forma de convertir un texto en una variable u objeto?, ejemplo:
Código Delphi [-]
var
lbl : String;
begin
lbl:='Label1';
 
with lbl do
  begin
  Enabled:=FALSE;
  end;

Quiero hacer esto, ya que para validar campos es la muerte hacerlos manualemnte :s (ya que son mas de 500 campos).

O como puedo habilitar varios labels con un for o algo asi?
Solucion:
Gracias ContraVeneno.
Solucion 1:
Código Delphi [-]
 for  i:=componentcount-1 downto 0 do begin
      if Components[i] is TLabel then begin
           TLabel(Components[i]).Enabled:= True;
      end; //fin if
  end; //fin for


Solucion2:
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

Última edición por maurici0 fecha: 19-03-2009 a las 18:58:04. Razón: Mas explicación
Responder Con Cita
  #2  
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: 23
ContraVeneno Va por buen camino
Código Delphi [-]
 for  i:=componentcount-1 downto 0 do begin
      if Components[i] is TLabel then begin
           TLabel(Components[i]).Enabled:= True;
      end; //fin if
  end; //fin for



¿500 campos? ¿en una tabla? Para mi 500 campos es igual a un problema de diseño y seguramente existe una mejor manera.
__________________


Última edición por ContraVeneno fecha: 19-03-2009 a las 17:36:37.
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 respuesta, me podrias explicar que hace en si el codigo?
Y aprovechando tu generosidad, si tengo ejemplo 100 labels, como aplciar tu codigo solo a los primeros 50? o algo asi?

Lo que pasa es de que es una pregunta "matriz", asi que desde la pregunta esta mal formulada jaja, esque es para hacer calculos y no se que mas moneria...
Responder Con Cita
  #4  
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: 23
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
  #5  
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
  #6  
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
  #7  
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
  #8  
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: 23
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
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 20:52:05.


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