Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wie wird aus einem String eine Anweisung? (https://www.delphipraxis.net/186334-wie-wird-aus-einem-string-eine-anweisung.html)

frankyboy1974 25. Aug 2015 11:36

AW: Wie wird aus einem String eine Anweisung?
 
Hallo,

also ich würde sagen, in dem du einen Compiler / Interpreter programmierst.:shock:

mfg

p80286 25. Aug 2015 11:51

AW: Wie wird aus einem String eine Anweisung?
 
Zitat:

Zitat von frankyboy1974 (Beitrag 1313421)
Hallo,

also ich würde sagen, in dem du einen Compiler / Interpreter programmierst.:shock:

mfg

Na nicht ganz sooo schlimm. Bei einem Makro-Assembler werden die eigentlich numerischen Befehle ja auch durch Buchstabenkombinationen repräsentiert. Du mußt also für jeden Kreis und für jede Funktion eine entsprechende Kombination definieren, und die wird dann übersetzt.
ungefähr so:
Delphi-Quellcode:
if Befehl='exit' then Application.Terminate;
oder
Delphi-Quellcode:
if Befehl='exit' then Befehlnum:=99;
case Befehlnum of
   99 : Application.Terminate;
end;{case --------------------}
Ein paar Grundkenntnisse im Parser bzw. Compilerbau schaden da allerdings auch nicht.

Gruß
K-H

frankyboy1974 25. Aug 2015 11:59

AW: Wie wird aus einem String eine Anweisung?
 
Hallo,

also gut, zumindesten einen Assembler.

mfg

Sel2012 25. Aug 2015 12:29

AW: Wie wird aus einem String eine Anweisung?
 
Mit If...Then geht es im Prinzip ganz einfach:

Delphi-Quellcode:
procedure TForm4.Button11Click(Sender: TObject);
var i:integer;

begin
erg:=strtoint(edit1.text)+zahl1;

 circle1a.visible:=false;
 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;

for i := 1 to erg do

 if i=1 then circle1a.visible:=true
else if i=2 then circle2a.visible:=true
else if i=3 then circle3a.visible:=true
else if i=4 then circle4a.visible:=true
else if i=5 then circle5a.visible:=true
else if i=6 then circle6a.visible:=true
else if i=7 then circle7a.visible:=true
else if i=8 then circle8a.visible:=true
else if i=9 then circle9a.Visible:=true
else if i=10 then circle10a.Visible:=true
end;
Damit kann ich ohne viel Schreibarbeit viele Varianten erstellen, indem nur der Start- und Endwert der For-Schleife geändert wird.

Mavarik 25. Aug 2015 12:31

AW: Wie wird aus einem String eine Anweisung?
 
Zitat:

Zitat von Sel2012 (Beitrag 1313432)
Mit If...Then geht es im Prinzip ganz einfach:

OMG liest Du eigentlich auch die Antworten? (#5)

baumina 25. Aug 2015 12:41

AW: Wie wird aus einem String eine Anweisung?
 
else if else if else if ... :kotz:

Sir Rufo 25. Aug 2015 13:00

AW: Wie wird aus einem String eine Anweisung?
 
Oder man schreibt es noch kürzer
Delphi-Quellcode:
procedure TForm4.Button11Click(Sender: TObject);
begin
  erg := strtoint(edit1.text)+zahl1;

  circle1a.visible := Between(erg,1,1);
  circle2a.visible := Between(erg,1,2);
  circle3a.visible := Between(erg,1,3);
  circle4a.visible := Between(erg,1,4);
  circle5a.visible := Between(erg,1,5);
  circle6a.visible := Between(erg,1,6);
  circle7a.visible := Between(erg,1,7);
  circle8a.visible := Between(erg,1,8);
  circle9a.visible := Between(erg,1,9);
  circle10a.visible:= Between(erg,1,10);
end;

Blup 25. Aug 2015 13:05

AW: Wie wird aus einem String eine Anweisung?
 
Zitat:

Zitat von Mavarik (Beitrag 1313412)
Abgesehen vom "<=" Fehler

So wie ich den ursprünglichen Quelltext verstanden habe, möchte er schrittweise alle Kreise einblenden, also zuerst einen, dann zwei, usw. bis alle Kreise sichtbar sind.
Deshalb habe ich den Parameter auch "ACount" genannt.
Soll natürlich nur immer ein Kreis zur selben Zeit sichtbar sein, währe der Vergleich mit "=" erforderlich.
Dann würde ich den Parameter "AIndex" nennen.

Mavarik 25. Aug 2015 13:09

AW: Wie wird aus einem String eine Anweisung?
 
Zitat:

Zitat von Blup (Beitrag 1313445)

So wie ich den ursprünglichen Quelltext verstanden habe, möchte er schrittweise alle Kreise einblenden

Ah ok... hatte ich nicht so verstanden...

Sel2012 26. Aug 2015 22:50

AW: Wie wird aus einem String eine Anweisung?
 
Zitat:

Zitat von Mavarik (Beitrag 1313434)
Zitat:

Zitat von Sel2012 (Beitrag 1313432)
Mit If...Then geht es im Prinzip ganz einfach:

OMG liest Du eigentlich auch die Antworten? (#5)

Hallo Mavarik, hast du auch die Antwort (#7) gelesen? Vielleicht bin ich ja zu doof, aber bei mir klappt das leider nicht.
Daraus wird keine funktionierende Anweisung, sondern das Ding bleibt ein tatenloser string.:-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:57 Uhr.
Seite 2 von 3     12 3      

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