Hallo liebe Spezialisten,
ich möchte mit FireMonkeyMobile eine variable Anzahl von Kreisen darstellen.
Natürlich kann ich für jede Situation mit ButtonXClick jeden gewünschten Kreis einzeln mit visible ansprechen (Siehe script 1).
Delphi-Quellcode:
procedure TForm4.Button1Click(Sender: TObject);
begin
circle2a.visible:=false;
circle3a.visible:=false;
circle4a.visible:=false;
circle5a.visible:=false;
circle6a.visible:=false;
circle7a.visible:=false;
circle8a.visible:=false;
circle9a.visible:=false;
circle10a.visible:=false;
circle1a.visible:=true;
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
circle3a.visible:=false;
circle4a.visible:=false;
circle5a.visible:=false;
circle6a.visible:=false;
circle7a.visible:=false;
circle8a.visible:=false;
circle9a.visible:=false;
circle10a.visible:=false;
circle1a.visible:=true;
circle2a.visible:=true;
end;
Eleganter und flexibler müsste das aber wie folgt gehen:
Delphi-Quellcode:
procedure TForm4.Button11Click(Sender: TObject);
var i,erg:integer;
kurz:array[1..10] of string;
begin
i:=1;
erg:=9;
repeat
kurz[i]:= ('circle'+inttostr(i)+'a.visible:=true;');
Application.ProcessMessages;
sleep(1000); //zum Verfolgen der "automatisierten" Befehlszeilen
label4.Text:= kurz[i];
inc(i);
until i=erg+1;
{circle10a.visible:=false;
circle1a.visible:=true;
circle2a.visible:=true;
circle3a.visible:=true;
circle4a.visible:=true;
circle5a.visible:=true;
circle6a.visible:=true;
circle7a.visible:=true;
circle8a.visible:=true;
circle9a.visible:=true; }
end;
Im Label werden die Befehlszeilen aus dem vorherigen Code alle 1:1 abgebildet. Die Strings sehen optisch genauso aus wie
die Befehlszeilen (von Hand geschrieben). Wie mache ich nun aus den Strings Anweisungszeilen?
'kurz[i];' funktioniert jedenfalls nicht.