![]() |
Scriptdatei einem Button zuweisen - Geht das?
Hallo Wissende,
ich habe das Problem, dass ich mehere Programme verschiedenen Kunden ausgeliefert habe. Der Kunde möchte nach Möglichkeit das teilweise Verhalten des Programms selbst ändern. Da er kein Delphi hat, stellt sich nun die Frage, ob es nicht möglich wäre hinter dem Button sozusagen eine Scriptdatei abzulegen, welche beim Start geladen und zugewiesen wird. Ich weiss, dass es Programme gibt, die so etwas vorweisen können, will hier auch nicht das grosse Messer auspacken, würde aber gern wissen, ob sowas grundsätzlich mit einfachen Mitteln möglich ist!? Es geht auch nicht darum Pseudosprachen zu benutzen, sondern einfach nur Pascal. Lohnt sich da TMS Scripter Studio Pro? Ich will ja nicht das ganze Programm neu schreiben, sondern eine Lösung jetzt nachträglich implementieren, falls überhaupt möglich. |
Re: Scriptdatei einem Button zuweisen - Geht das?
|
Re: Scriptdatei einem Button zuweisen - Geht das?
Vielleicht ist PascalScript von RemObjects ja schon die Lösung für dich. Ist kostenlos ;)
![]() |
Re: Scriptdatei einem Button zuweisen - Geht das?
Hallo,
ich habe mir beide Threads durchgelesen, verstehe aber ehrlich gesagt nicht ganz, wie man einem Button in fertigen Programm die Funktionalität eine externen Scriptes zuweisen kann. Kann mir hier vielleicht etwas Starthilfe geben!? |
Re: Scriptdatei einem Button zuweisen - Geht das?
Im Thread der Sysygy Script Engine ist beschrieben,wie man ein Script ausführen kann.
Baue dies einfach in den OnClick des Buttons ein. |
Re: Scriptdatei einem Button zuweisen - Geht das?
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo
Lade doch mal das ![]() Im Verzeichnis \Samples\ findest du einige Beispiele. Ich habe zudem das \Samples\Debug\ide Beispiel angehängt. |
Re: Scriptdatei einem Button zuweisen - Geht das?
Leider ist das alles irgendwie zu kompliziert für mich.
Das Ganze Kompilieren trallala ist viel zu viel des Guten. Ich wollte von Anfang an nur ein ganz simples Formular, auf dem sich ein Button befindet. Dieser Button läd zur Laufzeit eine Scriptdatei und führt bei Klick alles aus, was sich in dem Script befindet. Leider konnte ich mir aus den vielen Beispielen und Links keinen Reim drauf machen, wie das gehen soll. Also später vielleicht soll man auch im Programm das Script ändern können, aber als Testversion würde es mir völlig reichen herauszufinden, wie ich obigen Wunsch EINFACH realisieren kann. Ich hatte es mir so vorgestellt, dass ich zur Laufzeit oder im OnCreate den Buttons dann die Scripte zuweisen könnte, die sie ausführen sollen, wenn man einen Button drückt. Z.B. Button1 -> Button1.tvs Button2 -> Button2.tvs Sagen wir ich habe ein Formular, einen Button und ein Memo, um es ganz einfach zu halten. Dann würde ich gern in das externe Script folgendes schreibe, wenn das überhaupt so ginge:
Delphi-Quellcode:
Ich würde mich über ein kleines Feedback oder Beispiel freuen.
procedure TForm1.Button1Click(Sender: TObject);
begin Memo1.Lines.Add('Dies ist ein Test'); end; |
Re: Scriptdatei einem Button zuweisen - Geht das?
Hallo,
was hast Du vor? So 'ne Art Mini-Editor für sagen wir mal Batchdateien, VBScripte oder sowas? Was bedeutet die Dateiendung tvs? Wie wird denn ein derartiges Script normalerweise ausgeführt? Durch Doppelklick im Explorer oder muss da irgendein Programm gestartet werden oder... Nehmen wir mal an, es seien Batchdateien. Die kannst Du zuerstmal problemlos in 'nem Memo bearbeiten. Über einen Öffnen- und einen Speicherndialog kannst Du sie laden, editieren und speichern. So: Nun wollen wir da mal so 'ne Kombination daraus: Batchdatei laden über einen Öffnendialog. Batchdatei ist im Memo. Button ausführen drücken: Da könntest Du zuerst das Memo als Datei speichern (den Dateinamen hast Du Dir beim Öffnen irgendwo gemerkt). Du weißt, wo die Datei gespeichert wurde und könntest nun per
Delphi-Quellcode:
das Script ausführen.
ShellExecute(nil,'CMD.EXE /C',Scriptdateinamemitpfad, nil, SW_SHOWNORMAL);
Für Deinen Fall müsstest Du dann das 'CMD.EXE /C' durch den Pfad und den Namen des Programmes ersetzen, das letztlich für die Ausführung Deiner *.tvs-Dateien zuständig ist. So ein ShellExecute kannst Du aber auch in das OnClick-Ereignis eines jeden Buttons legen. |
Re: Scriptdatei einem Button zuweisen - Geht das?
Hallo,
erstmal vielen Dank für Deine Antwort. Die Dateiendung tvs ist eigentlich unwichtig. Es hätte genauso gut auch die Endung txt zum Einsatz kommen können. In der Datei, welche einem Button zugewiesen wurde, will ich eigentlich ganz einfachen Delphi-Code hinterlegen. Aber ich denke mal, dass das gar nicht so einfach geht, wie ich mir das vorstelle...!? Damit hätte ich aber eben die Möglichkeit mein Tool auch mal einfach über einen Editor zu ändern, ohne immer neu kompilieren zu müssen... Ich hoffe, ich habe keine Fragen offen gelassen!? |
Re: Scriptdatei einem Button zuweisen - Geht das?
Für Scripte eignet sich auch TJvInterpreterProgram von den JEDIs. Ein Tutorial dazu (sehr ausführlich und gut!!) findest du bei DGL.
mfg Flö |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:30 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 by Thomas Breitkreuz