Ver Mensaje Individual
  #3  
Antiguo 06-04-2009
Charly911 Charly911 is offline
Miembro
 
Registrado: ene 2009
Ubicación: Bs As, Argentina
Posts: 11
Reputación: 0
Charly911 Va por buen camino
Cita:
Empezado por DarkMan Ver Mensaje
Código Delphi [-]procedure TL2PacketHackMain.ChangeLang(L:string); var C: TControl; I: Integer; begin if not (L = 'NoLang') then for i:=0 to Form1.ControlCount-1 do begin C:= Form1.Controls[i]; If C is TButton then TButton(C).Caption:=Language.ReadString(L, TButton(C).Caption, 'NoText'); If C is TLabel then TLabel(C).Caption:=Language.ReadString(L, TLabel(C).Caption, 'NoText'); {...} end; end;


Aunque con tu ejemplo no lo dejas claro, deduje que lo que pretendías hacer es recorrer la lista de componentes y asignarle a cada uno el valor que le corresponde a su propiedad caption (si la tiene) o hint. En el pedazo de código que te pongo yo, realiza en parte lo que pides, pero para que funcione correctamente tendrás que asignar una identificación a cada componente para que pueda tomar el valor que le corresponde, sino todos adquirirán el mismo valor.

Un saludo.
DarkMan: Aunque no fui muy claro comprendiste lo que necesitaba. Ya habia pensado en hacerlo como vos decis, pero el inconveniente se presenta ya que no se llaman TButton 1, 2, 3.... sino que tienen nombres como ChkLogin, ChkDecrypt, etc... por lo que queria leerlos de la siguiente manera:

Archivo .ini :
-------------
[English]
ChkLogin=Login
Chkdecrypt=Decrypt
[Espanol]
ChkLogin=Identificarse
ChkDecrypt=Decodificar
-------------

A partir de este archivo, y en caso de que este en ingles, leer el primer valor (ChkLogin) y el segundo (Login) y cambiar las propiedades asi:

ChkLogin.Caption:=Login

Osea la idea es tomar las palabras del archivo y utilizarlas para identificar a los diferentes objetos y asi poder modificar sus propiedades..

Sere mas claro ahora?

Charly.
Responder Con Cita