Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Delphi-Befehle-Ausführen
IhopeonlyReader - Mo 28.05.12 15:14
Titel: Delphi-Befehle-Ausführen
Guten Tag, ich bin dabei eine "Karikatur" mit Delphi zu gestalten. Soweit kein Problem. Nun würde ich gerne per Editfeld Delphi-Befehle wie refresh.. eingeben , dass diese ausgeführt werden.
bis jetzt mache ich das so:
Delphi-Quelltext
1: 2: 3:
| if (Edit1.Text='refresh') then refresh; if (Edit1.Text='close') then close; if (Edit1.Text='Nebenform.close') then Nebenform.close; |
geht das auch einfacher bzw. so, dass ich direkt irgendwie den Sring in ein auszuführenden DelphiBefehl umforme?
(Vorstellung/Wunsch: DelphiBefehlausfuehren(ZuDelphiBefehlumformen(Edit1.Text));
Bin gespannt auf eure Lösungsvorschläge
IhopeonlyReader - Mo 28.05.12 15:38
Da mach ich mich gleich an die Arbeit :D Danke ;)
EDIT:
Dein Link enthält direkt in der Anleitung folgendes: "Nehme ich eine bereits existierende Scriptsprache, wie Python für Delphi [...] oder schreibe ich eine Engine selbst" Dann wird in dem Tutorial erklärt, wie man es selbst schreibt.
Ich gebe zu, ich möchte wissen, was in meinen Programmen geschieht, aber deshalb ein so komplexes Programm selber schreiben? Ich werde mir jetzt einmal Phyton anschauen
IhopeonlyReader - Mo 28.05.12 15:58
Wie ich schon merke, gibt es scheinbar in delphi direkt keine "umformung".
Jedoch verstehe ich jetzt nicht genau, wie ich solche Programme einbinden soll...
So wie ich das verstanden habe, sind das Compiler, die hauptsächlich auf Delphi-Sprache aber auch auf Object Pascal etc. zurückgreifen. So wird dann der String fest in die Exe eingebunden, diesmal allerdings als Befehl.
Soweit richtig??
Es wurde erwähnt, dass es so für den Enduser leicht möglich ist "Update-Vorschläge" zu geben.
Gibt es denn keinerlei Befehle direkt in Delphi? Irgendwo in der Delphi-Datenbank muss es doch die gazen Befehle in "String" form geben oder nicht? sind diese alle eingebunden?
kann man nicht in editfeld 1 eingebn showmessage('hi') und es wird showmessage('hi') ausgeführt??
... Ich glaube ich bin gerade total auf dem Holzweg des Verständisses :D
Hoffe ihr könnt mir ein wenig Klarheit bringen
jaenicke - Mo 28.05.12 16:25
Befehle werden beim Kompilieren einfach gesagt in Zahlen umgesetzt. Dem Prozessor ist total egal wie irgendein Befehl haben will, der will nur Zahlen. Im kompilierten Programm sehen wir die normalerweise als Assemblerbefehle dargestellt. Und das sind pro ursprünglichem Delphi-Befehl eine ganze Menge.
Delphi speichert zwar sogenannte RTTI-Informationen, die zur Laufzeit Informationen zu den Typen usw. zur Verfügung stellen, aber so einfach wie du dir das vorstellst ist es nicht, nein.
Diese Skriptsprachen bieten die Möglichkeit Funktionen bereitzustellen, die der Benutzer dann in Skripten einsetzen kann. Genau das was du willst also. ;-)
IhopeonlyReader - Mo 28.05.12 18:08
jaenicke hat folgendes geschrieben : |
Diese Skriptsprachen bieten die Möglichkeit Funktionen bereitzustellen, die der Benutzer dann in Skripten einsetzen kann. Genau das was du willst also. ;-) |
Ok, und wie genau muss ich das jetzt einbinden in Delphi-Quelltext etc?.. irgendwohin genau speichern?
jaenicke - Mo 28.05.12 18:22
Bei DWScript kannst du die Funktionen einfach in der Komponente im Objektinspektor definieren. ;-)
Da packst du dir eine TDelphiWebScript Komponente auf das Formular, dazu eine TdwsUnit, bei der du Script auf deine TDelphiWebScript Komponente setzt. Dann kannst du in der TdwsUnit unter Functions eine Liste der Funktionen anlegen. Zum Beispiel ein StringReplace:
IhopeonlyReader - Mo 28.05.12 20:45
:nixweiss: ich checks net :nixweiss:
jaenicke - Mo 28.05.12 20:47
Wie weit bist du denn? Was hast du bisher versucht? Was verstehst du nicht?
Beispiele sind ja bei den Komponenten auch dabei.
IhopeonlyReader - Sa 09.06.12 17:57
Wo genau muss ich was einstellen ?? (Hast du delphi 7 und kannst es dort erklären), weil deine Einstellungen sehen meinen sehr unterschiedlich :(
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!