Version 3
Count parameters Ganzahl
Parameter | Typ | Beschreibung | ||||
Dieser Befehl benötigt keine Parameter | ||||||
Funktionsergebnis | Numerisch | Anzahl der aktuell übergebenen Parameter |
Beschreibung
Die Funktion Count parameters gibt die Anzahl der Parameter zurück, die einer Projektmethode übergeben wurde.
Warnung: Count parameters ist nur in einer Projektmethode von Bedeutung, die von einer anderen Methode aufgerufen wird. Ist die Projektmethode, die Count parameters aufruft, einem Menü zugeordnet, gibt Count parameters den Wert 0 (Null) zurück.
Beispiele
1. Projektmethoden von 4D akzeptieren optionale Parameter.
Sie können zum Beispiel die Methode MyMethod(a;b;c;d) auf folgende Arten aufrufen:
MyMethod ( a ; b ; c ; d ) ` Alle Parameter wurden übergeben MyMethod ( a ; b ; c ) ` Der letzte Parameter wurde nicht übergeben MyMethod ( a ; b ) ` Die letzten beiden Parameter wurden nicht übergeben MyMethod ( a ) ` Nur der erste Parameter wurde übergeben MyMethod ` Kein Parameter wurde übergeben
Mit Count parameters innerhalb MyMethod stellen Sie die aktuelle Anzahl der Parameter fest und führen je nach Ergebnis verschiedene Operationen aus. Folgendes Beispiel zeigt eine Textmeldung und kann diese in einen 4D Write Bereich einfügen bzw. an ein Dokument auf der Festplatte senden:
` Projektmethode APPEND TEXT ` APPEND TEXT ( Text { ; Lang { ; Zeit } } ) ` APPEND TEXT ( Text { ; 4D Write Bereich { ; DocRef } } ) C_TEXT ($1) C_TIME ($2) C_LONGINT ($3) MESSAGE ($1) If (Count parameters>=3) SEND PACKET ($3;$1) Else If (Count parameters>=2) WR INSERT TEXT ($2;$1) End if End if
Mit dieser Projektmethode in Ihrer Anwendung können Sie schreiben:
APPEND TEXT (vtSomeText) ` Zeigt nur die Textmeldung an APPEND TEXT (vtSomeText;$wrArea) ` Zeigt die Textmeldung an und fügt sie dem Bereich $wr an APPEND TEXT (vtSomeText;0;$vhDocRef) ` Zeigt die Textmeldung an und schreibt sie in $vhDocRef
2. Projektmethoden von 4D akzeptieren verschiedene Anzahlen von Parametern desselben Typs. Dazu verwenden Sie einen Compilerbefehl, in dem Sie ${N} als eine Variable übergeben. N gibt dabei den ersten Parameter an. Mit Count parameters haben Sie über eine For Schleife und die Parameter Indirektion Syntax Zugriff auf diese Parameter. Dieses Beispiel ist eine Funktion, die die größte Nummer zurückgibt, die als Parameter empfangen wird:
` Projektmethode Max of ` Max of ( Zahl { ; Zahl2... ; ZahlN } ) -> Zahl ` Max of ( Wert { ; Wert2... ; WertN } ) -> Größter Wert C_REAL ($0;${1}) ` Alle Parameter sowie Funktionsergebnis sind vom Typ ZAHL $0:=${1} For ($vlParam;2;Count parameters) If (${$vlParam}>$0) $0:=${$vlParam} End if End for
Mit dieser Projektmethode in Ihrer Anwendung können Sie schreiben:
vrResult:=Max of (Records in set("Operation A");Records in set("Operation B"))
oder:
vrResult:=Max of (r1;r2;r3;r4;r5;r6)
Referenz