Ver Mensaje Individual
  #2  
Antiguo 14-01-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por dmguridi
Esoy recorriendo los componentes de un form y analizando las caracteristicas de los menues, labels, botones, etc de este form de la siguiente forma.
Nota: la funcion Traducir devuelve el texto pasado por parametro en un idioma determinado
...
Hace poco he estado mirando éste tema para un artículo y creo que te sería muy util utilizar RTTI para realizar éste trabajo. Utilizando RTTI puedes modificar las propiedades (en tu caso el caption) de los componentes de tu form sin necesidad del case (para preguntar por la clase del componente y de hacer el CAST).
Prueba lo siguiente, si ves que te puede ser útil ya dirás...
Simplemente recorrre todos los caption y en lugar de traducirlo le añade al final "-a".

Código Delphi [-]
 var
   i:Integer;
   comp:TComponent;
   PropInfo: PPropInfo;
   Str:String;
 begin
   // recorrer los componentes del form
   for i := 0 to (Self.ComponentCount - 1) do begin
 
     // accedo al componente
     comp := Self.Components[i];
 
     // Tiene la propiedad caption?
     PropInfo := GetPropInfo(comp, 'Caption');
     // Encontrada?
     if not (PropInfo = nil) then begin
 
       // obtener el caption actual
       Str := VarToStr(GetPropValue(comp, PropInfo^.Name));
 
       // Cambiarla (asegurarnos de que es String)...
       if (PropInfo^.Proptype^.Kind = tkString) or
          (PropInfo^.Proptype^.Kind = tkLString) then begin
 
         // Asignar el valor de tipo String
         SetStrProp(comp, PropInfo, Str + '-' + 'a');
       end;
     end;
   end;

NOTA: Éste código funciona con TTabSheet Y TMenuItems.
NOTA2: En tu código no veo nada raro, así que lo he probado y tb funciona con TTabSheet Y TMenuItems.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita