ShapeValueFormatting Funktion

Alternativ zur ShapeValueFormatter Funktion kann eine benutzerdefinierte Formatter-Funktion erstellt werden, um andere Shape Informationen in der Infobar anzuzeigen. Die Funktion erhält die vollständigen Formdaten sowie den Typ und gibt einen String zurück. Das folgende Beispiel zeigt, wie eine solche Funktion angelegt wird und welche Schnittstellen diese haben muss.

ShapeValueFormatting Funktion 1:

Die allgemeine Verwendung von Funktionen wird in der HMI-Dokumentation erklärt.

Nach dem Erstellen der TypeScript Funktion müssen zwei Parameter angelegt werden. Der erste bekommt die Shape-Beschreibung analog zur ShapeData-Eigenschaft übergeben, sowie sie auch vom Control abrufbar ist. Dieser Parameter muss als Typ Any angelegt werden. Der zweite Parameter bekommt den Shape-Typ analog zur ShapeType-Eigenschaft übergeben. Dieser Parameter muss als Typ TcHmi.Controls.Beckhoff.Vision.ShapeType angegeben werden. Es ist zu beachten, dass sich diese übergebenen Parameter zum Zeitpunkt der Funktionsausführung aus Timing-Gründen von den Werten der entsprechenden Control-Eigenschaften unterscheiden können.

Die Funktion muss einen Wert vom Typ String zurückgeben, der dann in der Infobar angezeigt wird. Die Funktion wird immer aufgerufen, wenn sich die Shape-Beschreibung ändert und somit der String in der Infobar aktualisiert werden muss.

ShapeValueFormatting Funktion 2:

Im folgenden Codebeispiel wird die Breite und Höhe zurückgegeben, sofern die Objekte in den Formdaten enthalten sind:

module TcHmi {
    export module Functions {
        export module TcHmiProject {
            export function Formatter(shapeData: any, shapeType: any) {
                if (shapeData.stSize != null && shapeData.stSize.fWidth != null && shapeData.stSize.fHeight != null) {
                    return 'w: ' + shapeData.stSize.fWidth.toFixed(0) + ' h: ' + shapeData.stSize.fHeight.toFixed(0);
                }
                else {
                    return '';
                }
            }
        }
        registerFunctionEx(‘Formatter’, ‘TcHmi.Functions.TcHmiProject’, TcHmiProject.Formatter);
    }
}

Um eine selbst-erstellte Formatter-Funktion zu benutzen, klicken Sie bei der ShapeValueFormat-Eigenschaft auf den Auswahl-Button und wählen in dem Function Editor ihre soeben erstellte Funktion aus.

ShapeValueFormatting Funktion 3: