PDA

Ver la Versión Completa : variables y componentes delphi


DrakStorm
12-03-2018, 15:53:47
Buen día, molesto por lo siguiente, soy relativamente un programador inexperto en varios aspectos y me encontré con el siguiente problema.

tengo 5 TImage

Image1
Image2
...
Image5

bueno la idea es saber si se puede y como se hace para por ejemplo llamar al componente pero con una variable

I : integer

Image[I]

o algo parecido

Muchas gracias

ecfisa
12-03-2018, 16:24:06
Hola.

De momento se me ocurren dos opciones; un arreglo de TImages

...
var
Img: array[1..5] of TImage;

procedure TForm1.FormCreate(Sender: TObject);
begin
Img[1] := Image1;
Img[2] := Image2;
Img[3] := Image3;
Img[4] := Image4;
Img[5] := Image5;
end;

...
//Ejemplo de uso:

Img[3].Picture.LoadFromFile('delphi.bmp');


O localizar el control por su nombre:

...
var
cp: TComponent;
begin
cp := FindComponent('Image3');
if Assigned(cp) then
TImage(cp).Picture.LoadFromFile('delphi.bmp');

Seguramente te propondrán otras alternativas.

Saludos :)

ElDioni
13-03-2018, 14:48:32
Hola,

lo mismo que la segunda opción de ecfisa pero sin una variable Tcomponent y sin comprobar si el componente que buscas existe.


for x:=1 to 5 do
begin
TImage(FindComponent(inttostr(x))).Picture:=nil;
end;


Saludos.

DrakStorm
14-03-2018, 16:19:14
Muchas gracias a ambos, con sus respuestas pude solucionar el inconveniente, todas las soluciones funcionan perfectamente.

Saludos y muchas gracias