Das alles trägt zur Problemlösung bei, aber lehrt dir nicht, wie du das ganze wirklich löst.
Stichwörter: Prozeduren/Funktionen.
Wenn du dir ne Prozedur schreibst, die als Parameter eine Image Komponente nimmt und die dann halt verändert, musst du nur noch mehr diese aufrufen und nicht nen ganze Block an Code ausführen:
Delphi-Quellcode:
if x=1 then begin image1.visible:=true; image1.top:=200; image1.left:=300; end;
if x=2 then begin image2.visible:=true; image2.top:=200; image2.left:=300; end;
if x=3 then begin image3.visible:=true; image3.top:=200; image3.left:=300; end;
-->
Delphi-Quellcode:
procedure SetImageProps(Image: TImage; AVisible: Boolean; ATop, ALeft: Integer);
begin
with Image do
begin
Visible := AVisible;
Top := ATop;
Left := ALeft;
end;
end;
// Aufruf (ohne Wissen über Findcomponent)
case x of
1: SetImageProps(image1, True, 200, 300);
2: SetImageProps(image2, True, 200, 300);
3: SetImageProps(image3, True, 200, 300);
end;
// Aufruf (eleganter; Findcomponent)
SetImageProps(TImage(FindComponent('Image' + IntToStr(x))), True, 200, 300);
// ... oder die Images in nem Array aufbewahren und X als Index verwenden