next up previous contents index
Next: HTML-Schnittstelle Up: Submodule für den Aufruf Previous: Der Eintrag 'system_call' im

Der Eintrag 'prepare_function' im Detail

Unmittelbar vor und nach dem Aufruf des externen Programms können die Daten einer in 'prepare_function' angegebenen Funktion übergeben werden. Beidesmal wird die selbe Funktion verwendet. Eine solche Funktion kann beispielsweise direkt in einem Modul-Skript stehen. Sie wird von 'modul_extprog' aufgerufen, wobei ihr zwei Parameter übergeben werden:

Eine Referenz auf das Array, in dem die aktuellen Daten liegen. Dieses Array ist mit den Feldnamen indiziert.

Ein boolscher Wert, über den die Funktion erkennen kann, ob der Aufruf des externen Programms noch folgt oder schon beendet ist. Im ersten Fall ist der Parameter nicht definiert, im zweiten Fall auf 'false' gesetzt.

Mit Hilfe einer solchen Funktion könnten beispielsweise die Daten vor dem Aufruf des externen Programms und zusätzlich zu den Möglichkeiten von 'dataconversion' und 'form_param' bearbeitet werden. Eine weitere Anwendung wäre die Speicherung der aktuellen Daten in einer Datei nach erfolgtem Programmaufruf. Die im folgenden Beispiel dargestellte Funktion erzeugt eine Datei mit einer Liste, der zu einer Klausur angemeldeten Studenten. Im Datenarray (als Referenz übergeben) findet die Funktion die Nummern der Vorlesung ('vn_nr') und der Klausur ('kl_nr'). Außerdem enthält das Array Platz für den Namen der erzeugten Datei ('file0'). Wenn die Funktion vor dem externen Programmaufruf gestartet wird, erzeugt sie die Datei. Nach dem Aufruf ($vorher == 0) wird die Datei wieder gelöscht.

Der Parameter-Block für den Aufruf von 'modul_extprog' könnte dann wie folgt aussehen:


next up previous contents index
Next: HTML-Schnittstelle Up: Submodule für den Aufruf Previous: Der Eintrag 'system_call' im
Copyright Munich Network Management Team