Delphi-PRAXiS
Seite 3 von 3     123   

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)

implementation 26. Aug 2015 23:05

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

Zitat von Sel2012 (Beitrag 1313647)
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

Ich weiß ja nicht, wo du deinen String herzauberst. In dem Vorschlag kommt nämlich gar keiner vor. Also red keinen Scheibenkleister.

stahli 26. Aug 2015 23:34

AW: Wie wird aus einem String eine Anweisung?
 
Für so etwas brauchst Du halt einen Interpreter (oder einen Compiler, der den text auch interpretiert und daraus eine Exe baut).

Einen Compiler wirst Du nicht bauen können. Das kannst Du gleich vergessen.

Aber Du kannst ggf. einfache Texte interpretieren. Dazu musst Du sie zerlegen und den Sinn ermitteln.
Wenn es eine begrenzte Anzahl von Kombinationen gibt, dann geht so etwas, aber es ist aufwendig.

Wenn Du z.B. einen Text in 3 Teile zerlegst, kannst Du z.B. so etwas machen:

Delphi-Quellcode:
if S1 = 'Close' then Close;

if (S1 = 'Panel1') and (S2 = 'Visible') and (S3 = 'True') then
  Panel1.Visible := True;

if S1 = 'Klose' then Close;

if (S1 = 'Tafel') and (S2 = 'Sichtbar') and (S3 = 'Ja') then
  Panel1.Visible := True;
Also Du gibst dem Programm vor, was es bei bestimmten Texten tun soll.
Das ist aber dann kein wirklicher Pascal-Quelltext, der dynamisch compiliert wird.

Bei Delphi muss der Quelltext komplett vorher kompiliert werden. In der Exe steht dann der komplette ausführbare Maschinencode.
Dynamische Texte zur Laufzeit "nachzuübersetzen" geht halt nicht.

hoika 27. Aug 2015 04:43

AW: Wie wird aus einem String eine Anweisung?
 
Hallo,
an den Threadersteller.

Bitte noch mal den neuen Quellcode zeigen.

PS:
Warum so negativ zu FindComponent?
Wenn ich verschiedene Arten von Komponenten habe,
fange ich doch nicht an, mir mehrere Arrays zu basteln,
aber hier geht es erst mal um Circles, also OK.

PS2:
Von RemObjects gibt es PascalScript,
da wäre unser Interpreter.


Heiko

Sir Rufo 27. Aug 2015 09:11

AW: Wie wird aus einem String eine Anweisung?
 
Mit FindComponent verlässt man ein wenig den OOP Pfad und CleanCode ist sowieso schon Geschichte.

Wir kennen die Beweggründe nicht, aber ich vermute mal so etwas wie eine Aussteuerungsanzeige. Anyway, dafür gibt es Klassen (hier wäre wohl ein Frame angesagt) um etwas Komplexeres zusammenzufassen und dadurch in der Handhabung einfacher zu machen.

Wer keine Frames verwenden möchte und auch keine neue Komponente dafür erstellen möchte, der schreibt sich eine einfache Klasse, die dann diese x Controls entgegennimmt und entsprechend ansteuert.

FindComponent ist wie "Schauen wir mal", die Verwendung von Klassen schafft Tatsachen.

Jeder entscheidet selber, ob er mit Tatsachen oder mit Weissagungen programmieren möchte. Ich kann mit Tatsachen allerdings erheblich besser umgehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:07 Uhr.
Seite 3 von 3     123   

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