AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wie wird aus einem String eine Anweisung?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie wird aus einem String eine Anweisung?

Ein Thema von Sel2012 · begonnen am 25. Aug 2015 · letzter Beitrag vom 27. Aug 2015
 
Sel2012

Registriert seit: 6. Jun 2015
Ort: 31535
103 Beiträge
 
Delphi XE5 Professional
 
#1

Wie wird aus einem String eine Anweisung?

  Alt 25. Aug 2015, 05:15
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.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz