Verwendung von VBScript-Formularkomponenten
Verwendung von Komponenten in VBScript-Formularen
Obwohl Formulare und Komponenten auf der Visual Component Library (VCL) von Embarcadero Delphi™ basieren, wird in Altium Designer bei der Verwendung von VBScript
Übersicht über Komponenten
Das Skriptsystem unterstützt zwei Arten von Komponenten: visuelle und nicht-visuelle Komponenten. Die visuellen Komponenten dienen zum Aufbau der Benutzeroberfläche, während die nicht-visuellen Komponenten für verschiedene Aufgaben verwendet werden, wie beispielsweise die Funktionen, die von der TimerOpenDialogMainMenuTimerButtonEditMemo
Beide Arten von Komponenten werden zur Entwurfszeit angezeigt, nicht-visuelle Komponenten sind jedoch zur Laufzeit nicht sichtbar. Komponenten aus dem
- Eigenschaften
- Ereignisse
- Methoden
Eine Visible
Ein
Ein
Alle Skriptformulare verfügen über eine oder mehrere Komponenten. Komponenten zeigen in der Regel Informationen an oder ermöglichen es einem Benutzer, eine Aktion auszuführen. Beispielsweise dient ein Label zur Anzeige von statischem Text, ein Eingabefeld ermöglicht es einem Benutzer, Daten einzugeben, und eine Schaltfläche kann zum Auslösen von Aktionen verwendet werden.
Auf einem Formular kann eine beliebige Kombination von Komponenten platziert werden, sodass ein Benutzer während der Ausführung des Skripts (Laufzeit) mit ihnen interagieren kann. Es ist die Aufgabe des Skriptprogrammierers, zu entscheiden, was geschieht, wenn ein Benutzer auf eine Schaltfläche klickt oder einen Text in einem Eingabefeld ändert.
Das Skriptsystem stellt eine Reihe von Komponenten zur Verfügung, mit denen sich einfache oder komplexe Benutzeroberflächen für Skripte erstellen lassen. Alle Komponenten, die auf einem Formular platziert werden können, finden sich im Fenster „Werkzeugpalette“.
Um eine Komponente in ein Formular einzufügen, suchen Sie das entsprechende Symbol im
Eine platzierte Komponente kann an ihrer Standardposition und mit Standardbreite und -höhe mithilfe der Maus oder über das
Entwerfen von Skriptformularen
Ein Skriptformular dient der Interaktion mit einem Benutzer innerhalb der Altium Designer-Umgebung. Das Entwerfen von Skriptformularen bildet den Kern der visuellen Entwicklung in Altium Designer.
Jede Komponente, die auf einem Skriptformular platziert wird, und jede festgelegte Eigenschaft wird in einer Datei gespeichert, die das Formular beschreibt (eine *.dfm*.vbs*.vbs*.dfm
Bei der Arbeit mit einem Skriptformular und seinen Komponenten können dessen Eigenschaften über das Caption
Ein neues Skriptformular erstellen
Wenn ein Skriptprojekt geöffnet ist, klicken Sie mit der rechten Maustaste auf das Projekt im EditScript1.vbs *.PrjPCB
Anzeigen eines Skriptformulars
Ein Skript muss eine Routine enthalten, die das Formular anzeigt, wenn das Skriptformular in Altium Designer ausgeführt wird. Innerhalb dieser Routine wird die ShowModalVisibleShowModal
Beispiel für „ShowModal“
Sub RunDialog DialogForm.ShowModal End Sub
Das obige ShowModalRunDialogDialogFormDialogForm.ShowModal
Das ModalResultmrOkmrCancelShowModal
sub bOKButtonClick(Sender) ModalResult := mrOK end sub sub bCancelButtonClick(Sender) ModalResult := mrCancel end sub sub RunShowModalExample 'Form Visible property must be false for ShowModal to work properly. If Form.ShowModal = mrOk Then ShowMessage("mrOk") If Form.ShowModal = mrCancel Then ShowMessage("mrCancel") end sub
Das Gleiche wie oben könnte durch Setzen des ModalResultmrOkmrCancelCloseModalResult
Beachten Sie, dass zum Festlegen der ModalResultSender.Cancel := TrueCancelButtonClick
Benutzereingaben akzeptieren
Eine der gängigen Komponenten, die Benutzereingaben entgegennehmen können, ist die EditBoxEditBox
Das folgende Beispiel veranschaulicht, was geschieht, wenn ein Benutzer auf die Schaltfläche klickt, nachdem er Text in das Eingabefeld eingegeben hat. Beachten Sie, dass der Ereignisbehandler eine Warnmeldung ausgibt, wenn der Benutzer keinen Text in die Eingabekomponente eingegeben hat
sub TScriptForm.ButtonClick(Sender) If Edit1.Text = "" Then ShowMessage("Warning - empty input!") Exit End ' do something else for the input End sub
Beachten Sie, dass ein Benutzer den Eingabefokus im Formular mithilfe der
Reagieren auf Ereignisse
Wenn ein Formular oder eine Komponente von einem Benutzer ausgewählt wird, sendet Altium Designer eine Nachricht an das Skriptsystem, das auf die Ereignisbenachrichtigung reagiert, indem es die entsprechende Ereignisbehandlungsmethode aufruft.
Erstellen von Ereignisbehandlungsroutinen
Ein Skript muss möglicherweise auf Ereignisse reagieren, die bei einer Komponente zur Laufzeit auftreten können. Ein Ereignis ist eine Verknüpfung zwischen einem Vorgang in Altium Designer – beispielsweise dem Klicken auf eine Schaltfläche – und einem Codeabschnitt, der auf diesen Vorgang reagiert. Der reagierende Code ist ein Ereignisbehandler, der Eigenschaftswerte ändert und Methoden aufruft.
Neben den Eigenschaften einer Komponente verfügt jede über eine Reihe von Ereignisnamen. Ein Skriptprogrammierer entscheidet, wie das Skript auf die Aktionen eines Benutzers in Altium Designer reagiert. Wenn ein Benutzer beispielsweise auf eine Schaltfläche in einem Formular klickt, sendet Altium Designer eine Nachricht an das Skript, und das Skript reagiert auf dieses neue Ereignis – sofern das OnClick
Alle derartigen Komponenten verfügen zudem über ein Ereignis für das Erlangen und Verlieren des Fokus. Wenn jedoch der Code für „OnEnter“ und „OnExit“ nicht festgelegt ist (OnEnterOnExit
Komponenteneigenschaften
Um eine Liste der Eigenschaften einer Komponente anzuzeigen, wählen Sie eine Komponente aus und aktivieren Sie die
Komponentenereignisse
Um eine Liste der Ereignisse anzuzeigen, auf die eine Komponente reagieren kann, wählen Sie eine Komponente aus und aktivieren Sie die
Wählen Sie beispielsweise die Button1OnClickCloseCloseClickClose
Zusammenfassend lässt sich sagen, dass ein Ereignis-Handler in einem Skript erstellt wird, indem eine Komponente auf dem Formular ausgewählt wird oder über das
Alternativ fügt das Skriptsystem durch einen Doppelklick auf eine Schaltfläche einen Handler für ein OnClick
Komponentenmethoden
Eine Liste der Methoden einer Komponente finden Sie in der Komponentenreferenz; ausführlichere Informationen entnehmen Sie bitte der Embarcadero Delphi-Dokumentation.
Erstellen von Komponenten zur Laufzeit
Komponenten können direkt in einem Skript erstellt und gelöscht werden. Normalerweise muss das Handle des Formulars nicht übergeben werden, da das Skriptformular dies automatisch übernimmt – übergeben Sie stattdessen einen Nil
Beispielsweise der TOpenDialogTSaveDialog