![]() |
AW: Wie wird aus einem String eine Anweisung?
Zitat:
|
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:
Also Du gibst dem Programm vor, was es bei bestimmten Texten tun soll.
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; 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. |
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 |
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 03:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz