Ver Mensaje Individual
  #6  
Antiguo 01-08-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno. Antes de nada deja que rectifique el código del bucle que he mostrado antes, y es que, ni siquiera compilaría. Últimamente escribo más PHP que Delphi, de ahí el error que se aprecia. He aquí el bucle modificado:

Código Delphi [-]
var
  i: integer;
begin
  for i := 0 to 10 do begin

  end;
end;

La diferencia está en la condición "i <= 10", que, en Delphi, no está permitida. Otrosí, es posible indicar un entero, de forma que el bucle terminará cuando "i" alcance su valor.

Respecto de cambiar el nombre de un objeto... tú sabrás para qué demonios quieres hacerlo (claro está, por otro lado), pero, en todo caso, es posible y aquí se muestra cómo:

Código Delphi [-]
var
  i: integer;
begin
  for i := 0 to Self.ControlCount-1 do begin
    if(Self.Controls[i] is TEdit) then begin
      TEdit(Self.Controls[i]).Name :=
       TEdit(Self.Controls[i]).Name + IntToStr(i);
    end;
  end;
end;

El anterior código recorre todos los controles de un supuesto formulario. A cada paso por el bucle se comprueba si un determinado control es un "TEdit". Y, si es así, cambiamos el nombre del "TEdit", siendo dicho nombre el que ya tiene, añadiéndole el valor de "i".

Dicho más pronto, el operador de concatenación de cadenas, que en PHP es un punto ".", en Delphi es un signo más "+".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita