Eigene Funktionen dem Formelassistent hinzufügen

Eine der wichtigsten und mächtigsten Möglichkeiten des Designers sind der Formelassistent und die dort angebotenen Funktionen. Mit Hilfe einer speziellen List & Label-VCL-Komponente ist es zudem möglich, ganz individuelle Funktionen in den Designer einzubinden.

Zum Hinzufügen einer neuen Funktion fügen Sie in der Entwicklungsumgebung diese Komponente auf einem Formular ein. Im Eigenschaftsfenster dieser Komponente können Sie nun die notwendigen Parameter einstellen.

 

 

Eigenschaft

Beschreibung

Name

Der eindeutige Name der Designerfunktion

Description

Eine zusätzliche Beschreibung der Funktion für den Formelassistenten

GroupName

Die Gruppe in der die Funktion im Formelassistenten angezeigt wird

Visible

Gibt an, ob die Funktion im Assistenten angezeigt wird oder nicht

MinimumParameters

Die minimale Anzahl von Parametern. Gültig sind Werte zwischen 0 und 4.

MaximumParameters

Die maximale Anzahl von Parametern. Gültig sind auch hier Werte zwischen 0 und 4. Der Wert muss gleich oder größer der minimalen Anzahl sein. Eine größere Anzahl ergibt optionale Parameter.

Parameter1 – 4

Jeder der bis zu vier Parameter kann individuell konfiguriert werden.

 

Type

Der Datentyp des Parameters

 

Description

Eine Beschreibung des Parameters für die Tooltip-Hilfe im Designer

ResultType

Der Datentyp des Rückgabewerts

 

Mithilfe der Eigenschaften können Sie die neue Designerfunktion individuell einstellen. Um die Funktion schließlich zum Leben zu erwecken, müssen Sie das Ereignis OnEvaluateFunction behandeln. Über die Ereignisargumente erhalten Sie Zugriff auf die vom Benutzer eingegebenen Parameter. Um beispielsweise die römische Ziffer zurück zu liefern, verwenden Sie folgende Zeilen:

Delphi:

procedure TDesExtForm.RomanNumberEvaluateFunction(Sender: TObject;
       var ResultType: TLl30XFunctionParameterType;
       var ResultValue: OleVariant;
       var DecimalPositions: Integer; const ParameterCount: Integer;
       const Parameter1, Parameter2, Parameter3, Parameter4: OleVariant);
begin
       ResultValue:=ToRoman(Parameter1);
end;

Zwei weitere Ereignisse erlauben Ihnen optional eine weitergehende Anpassung der Funktion. Über OnCheckFunctionSyntax können Sie eine Syntaxprüfung vornehmen. Hier können Sie die Datentypen der Parameter überprüfen und beispielsweise sicherstellen, dass die Parameter in einem bestimmten Bereich liegen. Über OnParameterAutoComplete ist es möglich, verschiedene Vorschlagswerte für das AutoComplete-Feature des Formelassistenten vorzugeben.