Autovervollständigen

DIAdem 2018 Hilfe


Ausgabe: Juni 2018
Artikelnummer: 370858P-0113
Angaben zum Produkt anzeigen

DOWNLOAD (Nur Windows)


DIAdem 2012 Hilfe
DIAdem 2014 Hilfe
DIAdem 2015 Hilfe
DIAdem 2017 Hilfe
DIAdem 2018 Hilfe
DIAdem 2019 Hilfe

Autovervollständigen ist die automatische Anzeige einer Liste von Objekten, Befehlen und Prozeduren. Wenn Sie <Strg-Leertaste> eingeben, zeigt DIAdem Ihnen alle Objekte, Befehle und Prozeduren an, die an dieser Stelle im Script verfügbar sind. Falls Sie bereits Zeichen eingegeben haben und <Strg-Leertaste> drücken, vervollständigt DIAdem den zugehörigen Bezeichner, falls dieser eindeutig ist. Andernfalls zeigt DIAdem die Auswahlliste an. Wenn Sie hinter dem Namen eines Objekts einen Punkt eintippen, zeigt DIAdem in einer Liste alle Eigenschaften und Methoden an, die dieses Objekt unterstützt. DIAdem verwendet unterschiedliche Symbole für Methoden und Eigenschaften. Für Methoden zeigt DIAdem zusätzlich die Parameter dieser Methode mit ihrem Datentyp an. Falls die Eigenschaften oder Methoden einen Rückgabewert haben, zeigt DIAdem auch den Typ des Rückgabewerts an.

Aus der Autovervollständigen-Liste können Sie Methoden oder Eigenschaften auswählen und in den Editor einfügen. Wenn DIAdem nach der Eingabe des Punkts die Liste anzeigt und Sie den Anfang eines Begriffs eingeben, markiert DIAdem in dieser Liste automatisch das erste passende Element. Sie können sich mit den Pfeiltasten in der Liste nach oben und unten bewegen. Wenn Sie die Eingabetaste drücken, übernimmt DIAdem den ausgewählten Eintrag.

DIAdem unterstützt Autovervollständigen für alle globalen Objekte, wie View, Report, Navigator, Portal, Data, UnitCatalog und BarManager und deren Unterobjekte. Eine Übersicht über die objektorientierten Schnittstellen finden Sie in der DIAdem-Hilfe auf der Registerkarte Inhalt unter dem Punkt Programmierreferenz»Objektorientierte Script-Schnittstellen.

Einige objektorientierte Schnittstellen sind polymorph. Dabei ist das von einer Methode oder Eigenschaft zurückgelieferte Objekt nicht eindeutig. Beispielsweise kann das von View.ActiveSheet.ActiveArea.DisplayObj zurückgelieferte Objekt die verschiedenen Anzeigetypen in VIEW zurückliefern. Da der Script-Editor nicht weiß, welches Objekt gemeint ist, zeigt DIAdem in diesem Fall eine Liste der möglichen Objekttypen an. Nachdem Sie aus dieser Liste einen Objekttyp ausgewählt haben, zeigt der Editor für diesen Objekttyp die Autovervollständigen-Liste der möglichen Methoden und Eigenschaften an.

Sie können in Scripten auch die Set-Anweisung verwenden, um mit einer Variablen auf ein Objekt einer objektorientierten Schnittstelle von DIAdem zu verweisen. DIAdem bietet auch für so definierte Objekte Autovervollständigen an. Autovervollständigen unterstützen in DIAdem-Scripten neben den DIAdem-Objekten auch andere Objekte, die Sie mit der Set-Anweisung und der CreateObject-Funktion zugewiesen haben. Bei einigen Komponenten müssen Sie zusätzlich über den Dialog Angemeldete Komponenten Bibliotheken die zugehörige Komponente anmelden. Für Objekte, die Sie mit der GetObject-Funktion zugewiesen haben, bietet DIAdem kein Autovervollständigen an. Im folgenden Beispiel zeigt DIAdem die Autovervollständigen-Liste an, wenn Sie hinter oMySheets oder oMySheet.ActiveArea einen Punkt eingeben.

Dim oMySheet
Set oMySheet = VIEW.ActiveSheet
oMySheet.ActiveArea

Im folgenden Beispiel zeigt DIAdem die Autovervollständigen-Liste an, wenn Sie hinter oMySpeech einen Punkt eingeben. Die verwendete API muss dazu auf Ihrem System vorhanden und registriert sein.

Dim oMySpeech
Set oMySpeech = CreateObject("SAPI.SpVoice")
Call oMySpeech.Speak("Hello World!")

DIAdem bietet auch in For Each...Next-Anweisungen Autovervollständigen an. Die Schleife muss dafür vollständig sein, also auch die Next-Anweisung enthalten. Im folgenden Beispiel zeigt DIAdem die Autovervollständigen-Liste auch an, wenn Sie in der Zeile Call MsgBoxDisp(oMyArea.SplitLeft) einen Punkt hinter oMyArea eingeben.

Dim oMyArea
For Each oMyArea in VIEW.ActiveSheet.Areas
  Call MsgBoxDisp(oMyArea.SplitLeft)
Next

Wenn Sie innerhalb einer Prozedur einer Variablen mehrfach Objekte mit der Set-Anweisung zuweisen, verwendet DIAdem die erste Objekt-Definition, um die Autovervollständigen-Liste zu erstellen. Mehrfache Objekt-Definitionen können beispielsweise in Verzweigungen sinnvoll sein. DIAdem löst solche Definitionen nur innerhalb einer Prozedur für Autovervollständigen auf und bietet in anderen Prozeduren für diese Definitionen kein Autovervollständigen an, auch wenn Sie diese Objekte als Funktions-Parameter übergeben.

Hat ein Objekt das Standardelement Item, brauchen Sie dieses Element im Allgemeinen nicht anzugeben. DIAdem erkennt auch in diesem Fall die Syntax und zeigt die Autovervollständigen-Liste an. Im folgenden Beispiel brauchen Sie also nicht Sheets.Item(1) einzugeben:

Dim oMyArea
set oMyArea= VIEW.Sheets(1).ActiveArea

Wenn eine Methode ein Argument erwartet und gleichzeitig eine Auflistung zurückliefert, ist es für DIAdem nicht zu erkennen, ob der geklammerte Ausdruck das Argument oder das Standardelement Item ist. In diesem Fall müssen Sie Item angeben, um eine Autovervollständigen-Liste zu erhalten.

Im folgenden Beispiel kann DIAdem die Syntax nicht korrekt auflösen. Bei Angabe des Standardelements Item wird der Ausdruck lesbarer und DIAdem kann auch die richtige Autovervollständigen-Liste anzeigen:

Navigator.Display.CurrDataFinder.QueryForm.GetIndexedProperties(eSearchFile)(1)
Navigator.Display.CurrDataFinder.QueryForm.GetIndexedProperties(eSearchFile).Item(1)

Wenn Sie eine Klasse in einem Script definieren, können Sie auch für diese Klasse Autovervollständigen nutzen.

Wenn Sie in verschiedenen Klasse den gleichen Methodennamen verwenden und an eine dieser Methoden ein Objekt übergeben, dann kann es sein, dass innerhalb der Klasse das Autovervollständigen nicht korrekt funktioniert. Das folgende Beispiel definiert beispielsweise in zwei Klassen die Methode Add. Im Hauptscript wird das Objekt VIEW an die Methode Add der Klasse MyFirstClass übergeben. Wenn Sie die Methode Add der Klasse MyFirstClass im Script-Editor bearbeiten, zeigt DIAdem das richtige Autovervollständigen an. Da der Methodenname Add aber auch in der Klasse MySecondClass verwendet wird, kann DIAdem diese zwei Methoden nicht unterscheiden und zeigt dort ebenfalls Autovervollständigen für VIEW an. Wenn Sie einen anderen Methodennamen verwenden, wie beispielsweise den Namen Add_2 in der Klasse MyThirdClass , dann zeigt DIAdem im Script das richtige Autovervollständigen an.

Dim MyClass1, MyClass2, MyClass3

Set MyClass1 = new MyFirstClass
MyClass1.Add(VIEW)

Set MyClass2 = new MySecondClass
MyClass2.Add(Data)

Set MyClass3 = new MyThirdClass
MyClass3.Add_2(Data)

Class MyFirstClass 
  Public Sub Add(MyPara)
    MyPara 'CodeCompletion for the VIEW object
  End Sub  
End Class

Class MySecondClass
  Public Sub Add(MyPara)
    MyPara 'Wrong CodeCompletion for the VIEW object
  End Sub
End Class
Class MyThirdClass 
  Public Sub Add_2(MyPara)
    MyPara 'Correct CodeCompletion for the Data object
  End Sub  
End Class

Verwandte Themen

Angemeldete Komponenten-Bibliotheken | Befehl: ScriptCMDRegister | Methode: CreateObject für VBS | Methode: GetObject für VBS

WAR DIESER ARTIKEL HILFREICH?

Nicht hilfreich