Funktion |
Wenn Sie mit
CallVBS
eine VBScript-Funktion aufrufen, ist bereits ein Objekt "guixt" vordefiniert.
Es gestattet den Zugriff auf GuiXT Scriptvariablen und bietet einige Sonderfunktionen
z.B. RFC-Aufrufe aus VBScript.
Das gleiche Objekt wird bei
connectHTML
an die HTML-Seite übergeben, indem eine Funktion guixt_initialize(obj)
aufgerufen wird (falls vorhanden), die in JavaScript oder VBScript
implementiert sein kann:
Falls die HTML-Seite mit
WebView eingeblendet wurde, können Sie direkt das Objekt "guixthost" verwenden und auf die Funktion guixt_initialize() verzichten. Ein Aufruf von
connectHTML íst trotzdem erforderlich.
Voraussetzung: Komponente "GuiXT
Controls" ist aktiv. |
Get() |
r = guixt.Get(var) Wenn var den Inhalt "xxx" hat, wird die GuiXT Scriptvariable V[xxx] gelesen und der Inhalt nach r gestellt. Beispiel:
Dim menu_icon_path |
Set() |
guixt.Set(var,value) Wenn var den Inhalt "xxx" hat, wird die GuiXT Scriptvariable V[xxx] auf den Inhalt von value gesetzt. Beispiel:
guixt.Set("menu_icon_path",
"C:\guixt\menu\icons") |
GetText() |
r = guixt.GetText(var) Wenn var den Inhalt "xxx" hat, wird die GuiXT Langtextvariable text[xxx] gelesen und der Inhalt nach r gestellt. Beispiel:
' read menu |
SetText() |
guixt.SetText(var,value) Wenn var den Inhalt "xxx" hat, wird die GuiXT Langtextvariable text[xxx] auf den Inhalt von value gesetzt. Beispiel:
Call guixt.settext("menu_layout",Join(s,vbCrLf)) |
Value() |
r = guixt.Value(var) GuiXT ersetzt im angegebenen String alle &-Ausdrücke nach GuiXT-Logik durch die entsprechenden Werte und stellt das Resultat nach r. Beispiel:
Dim mat |
Input() |
guixt.Input(s) Der angegebene String s wird exakt so interpretiert wie für die input= Option der Image-Anweisung beschrieben. Beispiel:
guixt.input("U[VBELN]:" & ListView.selectedItem) |
Process() |
guixt.Process(funcname, par1, par2, ...)) Entspricht der GuiXT Anweisung Process. Aus dem ersten Parameter funcname wird der Scriptname "process_[funcname].txt" gebildet. Dieses Script wird durchgeführt, wobei die Parameter des Scripts durch die Werte von par1, par2,... besetzt werden. Der bei "Return" im Script gesetzte String wird zurückgegeben. address = guixt.process("customeraddress", "K1032") Beispiel: var guixt; function guixt_initialize(obj) { guixt = obj; } function display_address() { // current customer number from screen var mykunnr = guixt.value("&F[Customer]") // read address var jsonaddr = guixt.process('customer/readaddress', mykunnr) // parse address data into JavaScript object var addr = JSON.parse(jsonaddr); // display address document.getElementById('name1').innerText = addr.name1; document.getElementById('name2').innerText = addr.name2; document.getElementById('stras').innerText = addr.stras; document.getElementById('pstlz').innerText = addr.pstlz; document.getElementById('ort01').innerText = addr.ort01; document.getElementById('landx').innerText = addr.landx; }; |
FilePath() |
guixt.FilePath(s, [cache=True]) Der angegebene String s wird als Dateiname relativ zum GuiXT Scriptverzeichnis interpretiert.
Bei cache=True werden externe Dateien zunächst im GuiXT Cache gesucht. Beispiele:
imgpath = guixt.FilePath("images\home.gif")
imgpath = guixt.FilePath("http://www.synactive.com/images/s10logo_blue.gif") |
SetEventHandler() |
guixt.SetEventHandler(obj1,obj2) Angabe zweier Objekte. Für jedes Event z.B. "Click" von Objekt obj1 wird die Funktion "OnClick" von Objekt2 aufgerufen. Die Parameterübergabe erfolgt gemäss der Event-Schnittstelle, d.h. Sie müssen die Funktionen zur Eventbehandlung mit den entsprechenden Parametern anlegen. Meist ist obj1 ein Control, z.B. ein Tree View oder ein List View, und obj2 ist ein mit VBScript -Mitteln definiertes Objekt zur Behandlung der Events. Tipp 1: Die ausgelösten Events und aktuellen Parameter können Sie mit der Trace-Funktion im GuiXT-Window anzeigen. Tipp 2: Die möglichen Events und ihre Parameter werden in VBScript Editoren wie z.B. VbsEdit dargestellt. Beispiel (Details dazu siehe Tutorial 4 zu GuiXT Controls):
' handle events mit
Class va03_list_events
End Function |
DoEvents() |
guixt.DoEvents() Die Funktion wartet einige Millisekunden und verarbeitet dann alle Windows-Nachrichten, die sich in der Warteschlange befinden. Sie benötigen die Funktion bei einigen Controls, die asynchrone Verarbeitungen durchführen. Zum Beispiel werden im Internet Explorer eine Seite und die einzelnen Objekte asynchron geladen, und Sie müssen die eigene Verarbeitung durch DoEvents() unterbrechen, bis die Seite geladen ist, ehe Sie mit der Verarbeitung der geladenen Seite beginnen können. Beispiel:
ie.Navigate(url) |
CreateObject() |
guixt.CreateObject(progid) Die Funktion ist weitgehend identisch mit der VBScript-Funktion CreateObject(). Der Unterschied besteht darin, dass die GuiXT Controls-Funktion CreateObject() eine statisch vordefinierte Version der Windows Common Controls "Comctl. ..." benutzt. Beispiel:
Set imgList = guixt.CreateObject("ComCtl.ImageListCtrl") |
GetObject() |
guixt.GetObject(progid) Die Funktion ist weitgehend identisch mit der VBScript-Funktion GetObject. Beispiel:
Set excel = guixt.GetObject("Excel.Application") |
Rfc() |
guixt.Rfc(arguments,...) Aufruf eines SAP Funktionsbausteins über RFC. Die Parameter sind identisch mit den bei Call beschriebenen Parametern, wobei nicht ein gesamter String, sondern die einzelnen Teile als Parameter übergeben werden. Die GuiXT Variable V[_exception] enthält nach dem Rfc() Aufruf entweder "", falls kein Fehler auftrat, oder einen Fehlertext. Sie können auf die Variable mit guixt.Get("_exception") zugreifen. Für übergebene Tabellen wird ein VBScript-Array aus Strings verwendet, d.h. jede Tabellenzeile ist ein String des Arrays. Falls Sie die Tabelle nur für die Ausgabe des Funktionsbausteins benötigen, reicht die Definition mit "Dim"; es wird dann automatisch ein Array in der benötigten Grösse angelegt. Beispiel:
Dim all_vkorg
For Each row In all_vkorg |
Komponente | GuiXT + Controls |