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 "+".