An Unterprogramme ebenso wie an eigene Funktionen und Objekteigenschaften können beliebig viele Parameter (getrennt mit Semikoli) übergeben werden, die innerhalb des Unterprogramms ausgewertet werden können. Diese Parameter werden entweder beim Aufruf-Befehl in dem Extra-Eingabefeld oder in den anderen Fällen in Klammern beim Aufruf angegeben.
Die Auswertung dieser Parameter kann auf zwei Arten geschehen:
• | feste Zuweisung an Variablen |
• | Zugriff auf die Parameterliste |
Feste Variablenzuordnung
Für die feste Zuweisung der Parameter an vorgegebene Variablen wird in der Marke für das Unterprogramm eine Liste der Variablennamen in Klammern angehängt, in denen die Parameter erscheinen sollen. Hierbei kann für jede Variable auch ein Vorgabewert definiert werden, der verwendet wird, wenn beim Aufruf der Parameter nicht angegeben wurde:
Ein Beispiel:
::MeinUnterprogramm(Name;Vorname;Geschl=M)
Wird dieses Unterprogramm mit Parametern aufgerufen, werden die ersten beiden Parameter in den Variablen [Name] und [Vorname] eingetragen und können so im Unterprogramm verarbeitet werden.
Aufruf 'MeinUnterprogramm' (Parameter: 'Meier;Hans')
Bei diesem Beispiel wurde kein dritter Parameter für Geschl angegeben, daher steht im Unterprogramm in der Variablen [Geschl] der Wert "M", eben der Standardwert.
Hinweis: Sollte einer dieser Parameter ein Semikolon enthalten, muss er in "" gesetzt werden, damit die Aufzählung auswertungsfähig ist. Diese Anführungszeichen werden nicht übergeben. Beispiel "[Wert1]";"[Wert2]"
Zugriff auf die Parameterliste
Werden keine Variablenzuordnungen definiert oder mehr Parameter als definierte Variablen an das Unterprogramm übergeben, können diese aus einer Parameterliste ausgelesen werden. Hierfür gibt es die Platzhaltergruppe
[cX.Parameter.X].
Ohne Angabe von X wird hier die übergebene Liste der Parameter geliefert.
Für X kann hier .Anzahl stehen, was die Anzahl der übergebenen Parameter liefert.
Mit .Wert(n) oder einfach .n kann der Parameter Nummer n (1 bis .Anzahl) ermittelt werden.
cX-Webseite: http://www.clickexe.net