Vordefinierte Befehle

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  UModel Referenz für Programmierer > Skripterstellung > Anmerkungen zur Programmierung >

Vordefinierte Befehle

In diesem Abschnitt finden Sie eine Liste von:

 

vordefinierten Befehlen
alert
conform
doevents
CreateForm
lastform
prompt
ShowForm
watchdog

 

und Befehlen zur .NET-Interoperabilität.
CLR.Create
CLR.Import
CLR.LoadAssembly
CLR.ShowImports
CLR.ShowLoadedAssemblies
CLR.Static

 

 

Vordefinierte Befehle

Die folgenden vordefinierten Befehle stehen zur Verfügung.

 

 

ShowForm(strFormName : String)

Instantiiert ein neues Formularobjekt anhand des angegebenen Formularnamens und zeigt es sofort als Dialogfeld an.

Rückgabewert: Eine Zahl, die für das generierte Dialogfeldergebnis DialogResult (System.Windows.Forms.DialogResult) steht.

 

Beispiel:

var dialogResult = ShowForm( "FormName" );

 

Zeigt das Formular "FormName" als Dialogfeld an:

 

ShowForm

 

Das Ergebnis (DialogResult) kann z.B. folgendermaßen überprüft werden:

 

if ( dialogResult == CLR.Static( "System.Windows.Forms.DialogResult" ).OK )
       alert( "ok" );
else
       alert( "cancel" );

 

CreateForm(strFormName : String)

Instantiiert ein neues Formularobjekt anhand des vorgegebenen Formularnamens.

Rückgabewert: Das Formularobjekt (System.Windows.Forms.Form) des angegebenen Namens oder null, wenn kein Formular dieses Namens vorhanden ist.

 

Beispiel:

var myForm = CreateForm( "FormName" );
if ( myForm != null )
{
       myForm.textboxFirstName.Text = "Daniel";
       myForm.textboxLastName.Text = "Smith";
       var dialogResult = myForm.ShowDialog();
}        

 

Zeigt das Formular "FormName" als Dialogfeld an - TextBoxes werden initialisiert:

 

CreateForm

 

Das Ergebnis (DialogResult) kann z.B. folgendermaßen überprüft werden:

:

 

if ( dialogResult == CLR.Static( "System.Windows.Forms.DialogResult" ).OK )
       alert( "ok" );
else
       alert( "cancel" );

 

 

lastform

Mit Hilfe dieses globalen Felds kann das zuletzt erstellte Formularobjekt jederzeit wieder aufgerufen werden.

Rückgabewert: Gibt eine Referenz auf das letzte Formularobjekt (System.Windows.Forms.Form) zurück, das erfolgreich mittels CreateForm() oder ShowForm() instantiiert wurde.

 

Beispiel:

CreateForm( "FormName" );
if ( lastform != null )
{
       lastform.textboxFirstName.Text = "Daniel";
       lastform.textboxLastName.Text = "Smith";
       var dialogResult = lastform.ShowDialog();
}

 

Zeigt das Formular "FormName" als Dialogfeld an - TextBoxes werden initialisiert (ähnlich wie CreateForm im Beispiel oben):

 

CreateForm

 

doevents()

Verarbeitet alle Windows-Meldungen, die sich derzeit in der Nachrichtenwarteschlange befinden.

Rückgabewert: Keiner

 

Beispiel:

for ( i=0; i < nLongLastingProcess; ++)
{
       // do long lasting process
       doevents(); // process windows messages; give UI a chance to update
}

 

watchdog(bEnable : boolean)

Bei CPU-intensiven Skripts, deren Verarbeitung lange dauert, fragt der Watchdog den Benutzer, ob das Skript abgebrochen werden soll. Mit Hilfe der watchdog() Methode können Sie dieses Verhalten aktivieren bzw. deaktivieren.

Standardmäßig ist der Watchdog aktiviert.

Rückgabewert: Keiner

 

Beispiel:

watchdog( false );        // disable watchdog - we know the next statement is CPU intensive but it will terminate for sure
doCPUIntensiveScript();
watchdog( true );        // re-enable watchdog                

 

Verwendungstipp:

Durch Aufruf von watchdog(true) können Sie den Watchdog auch zurücksetzen. Dies empfiehlt sich manchmal vor der Ausführung langer speicherintensiver Aufgaben, um sicherzustellen, dass diesen der maximale vom Skript her zulässige Verarbeitungsspeicher zur Verfügung steht.

 

alert(strMessage : String) oder MsgBox(strMessage : String)

Zeigt eine bestimmte Meldung über ein Meldungsfeld an. Der Benutzer muss zum Fortfahren auf OK klicken.

Rückgabewert: Keiner

 

Beispiel:

alert( "Hello World" );

 

alert

 

confirm(strMessage : String)

Öffnet ein Dialogfeld, in dem die angegebene Bestätigungsmeldung angezeigt wird.

Eine Bestätigungsbox dient oft dazu, etwas zu überprüfen oder zu akzeptieren. Der Benutzer muss entweder auf "OK" oder auf "Abbrechen" klicken, um fortfahren zu können.

Rückgabewert: Ein Boolescher Wert, der für die Antwort des Benutzers steht. Wenn der Benutzer auf "OK" klickt, gibt das Dialogfeld "true" zurück, wenn der Benutzer auf "Abbrechen" klickt, gibt das Dialogfeld "false" zurück.

 

Beispiel:

if ( confirm( "Continue processing?" ) == false )
       return;

 

confirm

 

prompt(strMessage : String, strDefault : String)

Öffnet ein Dialogfeld, in dem die angegebene Eingabeaufforderung sowie ein Textfeld-Steuerelement mit einer Standardantwort angezeigt wird.

Ein solches Aufforderungskästchen dient oft zur Eingabe eines String-Werts.

Rückgabewert: Ein String, der den Textfeldwert enthält oder Null, wenn der Benutzer auf "Abbrechen" geklickt hat.

 

Beispiel:

var name = prompt( "Please enter your name", "Daniel Smith" );
if ( name != null )
       alert( "Hello " + name + "!" );        

 

prompt

 

Befehle zur .NET-Interoperabilität

Zur verbesserten Interoperabilität mit dem .NET Framework stehen unter CLR zusätzliche Funktionen zur Verfügung.

 

 

CLR.Import(strNamespaceCLR : String)

Dies ist das Skripting-Äquivalent zur C#  / VB.Net Verwendung des Schlüsselworts "imports". Damit können Sie den angegebenen Namespace in aufeinander folgenden Aufrufen wie z.B. CLR.Create() und CLR.Static() auslassen.

Rückgabewert: Keiner

 

Beispiel:

Anstatt immer den vollständigen qualifizierten Namen verwenden zu müssen:

 

if ( ShowForm( "FormName" ) == CLR.Static( "System.Windows.Forms.DialogResult" ).OK )
{
       var sName = lastform.textboxFirstName.Text + " " + lastform.textboxLastName.Text;
       CLR.Static( "System.Windows.Forms.MessageBox" ).Show( "Hello " + sName );
}

 

können Namespaces importiert und die Kurzform verwendet werden:

 

CLR.Import( "System.Windows.Forms" );
if ( ShowForm( "FormName" ) == CLR.Static( "DialogResult" ).OK )
{
       var sName = lastform.textboxFirstName.Text + " " + lastform.textboxLastName.Text;
       CLR.Static( "MessageBox" ).Show( "Hello " + sName );
}

 

Bitte beachten Sie:

Durch den Import eines Namespace wird die entsprechende Assembly nicht zum Skripting-Projekt hinzugefügt bzw. geladen!

Assemblies können mittels CLR.LoadAssembly dynamisch (zur Laufzeit) im Quellcode eingefügt werden.

 

 

CLR.ShowImports()

Öffnet ein Meldungsdialogfeld, in dem die aktuell importierten Namespaces angezeigt werden. Der Benutzer muss zum Fortfahren auf OK klicken.

Rückgabewert: Keiner

 

Beispiel:

CLR.ShowImports();

 

ShowImports

 

CLR.LoadAssembly(strAssemblyNameCLR : String)

Lädt die .NET Assembly mit dem angegebenen Assembly-Namen oder Dateipfad.

Rückgabewert: ein Boolscher Wert. True, wenn die Assembly geladen werden konnte, false, wenn nicht.

 

Beispiel:

// set clipboard text (if possible)
// System.Windows.Clipboard is part of the PresentationCore assembly, so load this assembly first:
if ( CLR.LoadAssembly( "PresentationCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", true ) )
{
       var clipboard = CLR.Static( "System.Windows.Clipboard" );
       if ( clipboard != null )
               clipboard.SetText( "HelloClipboard" );
}

 

 

CLR.ShowLoadedAssemblies()

Öffnet ein Meldungsdialogfeld, in dem die aktuell geladenen Assemblies angezeigt werden. Der Benutzer muss zum Fortfahren auf OK klicken.

Rückgabewert: Keiner

 

Beispiel:

CLR.ShowLoadedAssemblies();

 

ShowLoadedAssemblies

 

CLR.Create(strTypeNameCLR : String, constructor arguments ...)

Erstelle eine neue .NET-Objektinstanz für den angegebenen Typnamen. Wenn mehr als ein Argument übergeben wird, werden die nachfolgenden Argumente als Argumente für den Konstruktor des .NET-Objekts interpretiert.

Rückgabewert: Eine Referenz auf das erstellte .NET-Objekt

 

Beispiele:

var objArray = CLR.Create("System.Collections.ArrayList");

 

var newItem = CLR.Create( "System.Windows.Forms.ListViewItem", "NewItemText" );

 

var coll = CLR.Create( "System.Collections.Generic.List<System.String>" );

 

CLR.Import( "System" );
CLR.Import( "System.Collections.Generic" );
var dictionary = CLR.Create( "Dictionary< String, Dictionary< String, String > >" );

 

 

CLR.Static(strTypeNameCLR : String)

Verschafft Zugriff auf .NET-Typen, die keine Instanzen haben und nur statische Mitglieder enthalten.

Rückgabewert: Eine Referenz auf das statische .NET-Objekt

 

Beispiele:

var enumValStretch = CLR.Static( "System.Windows.Forms.ImageLayout" ).Stretch

 

var clipboard = CLR.Static( "System.Windows.Clipboard" );
clipboard.SetText( "HelloClipboard" );

 

if ( ShowForm( "FormName" ) == CLR.Static( "System.Windows.Forms.DialogResult" ).OK )
       alert( "ok" );
else
       alert( "cancel" );

© 2019 Altova GmbH