![]() |
Delphi-Version: XE2
Befehl aus Edit-Feld ausführen
Es hört sich vielleicht komisch an , aber ich suche eine Möglichkeit, einen mehr oder weniger unbekannten Befehl,der in einem Edit-Feld steht,automatisch von meinem Programm auszuführen, d.h. :
In Edit1 steht z.B "*showmessage('test')* oder "*timer1.enabled :=true*" Nun möchte ich , dass mein Programm eben diesen Befehl ausführt und mir einen Dialog ausgibt bzw Timer1 startet.(*Die Komponente Timer1 ist natürlich bereits vorher im Programm implementiert worden*) Die Möglichkeit,das Edit-Feld auf bestimmte Befehle zu untersuchen,scheidet aus,da theoretisch jeder Delphi-Befehl ausführbar sein soll und ich somit nicht bestimmt weiß,welcher Befehl ausgeführt werden soll. **Danke für Eure Antworten :)** |
AW: Befehl aus Edit-Feld ausführen
Mit Bordmitteln geht das überhaupt nicht, evtl. mit einem Interpreter (PascalScript oder Konsorten), aber selbst da bin ich nicht sicher.
P.S.: Willkommen in der DP :dp: |
AW: Befehl aus Edit-Feld ausführen
Ok , danke ;)
|
AW: Befehl aus Edit-Feld ausführen
Sind es denn so viele? Wäre es nicht einfacher sie aus einer Liste auszuwählen? Einen optionalen Text kann man ja dann noch über ein Eingabefeld eingeben lassen.
|
AW: Befehl aus Edit-Feld ausführen
Rein prozedurale Dinge wie ein
Delphi-Quellcode:
sicher nicht, aber mittels RTTI kannst du nur mit einer Handvoll Strings die dein Benutzer eingibt nach Objekten und Klassen mit einem bestimmten Namen suchen, schauen, ob sie Methoden und Properties mit bestimmten Namen haben, diese Methoden mit Parametern aufrufen ...
showMessage()
Beispiel: Benutzer gibt
Code:
ein.
meinObjekt.irgendeineProperty = meinAnderesObjekt.funktion(544.2);
Aber wenn du einfach nur etwas suchst, dass eine Handvoll vorher festgelegte Befehle wie showMessage() ausführt, wäre es wohl eher besser, dir im Quelltext eine Liste von vorher festgelegten Möglichkeiten anlegst und dann einfach schaust, ob im Edit-Feld etwas von 'showmessage' steht. Usw. Usw. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:31 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