Makros und Programme einsetzen Datenfenster steuern |
Top Previous Next |
Die meisten Aktionen, die der Anwender interaktiv mit einem Datenfenster ausführen kann, sind auch über TurboPL-Makros möglich. Dazu gehören:
und viele mehr. Eine vollständige Übersicht gibt es in der TurboPL Referenz unter Benutzerschnittstelle. Wenn Sie eine Funktion für ein Datenfenster ausführen muss natürlich klar sein, an welches Datenfenster sich diese Funktion richtet. Sie haben dazu zwei Möglichkeiten. Entweder Sie verwenden das gerade aktive Datenfenster oder ein ganz spezielles. Das gerade aktive Datenfenster wird immer dann benutzt, wenn Sie eine Oberflächenfunktion in einem Applikationsmodul aufrufen ohne explizit ein Datenfensterobjekt anzugeben. In allen anderen Fällen wird ein spezielles Formular benutzt:
Für den dritten Fall hier ein kurzes Beispiel, in dem wir annehmen, dass die folgende Zeile im Formularmodul eines Formulars für die Tabelle KFZ steht, welches eine eingebettete Tabelle für die Tabelle KUNDEN enthält. Die eingebettete Tabelle heißt KundenTabelle. KundenTabelle.ShowRec(8) zeigt dann den Datensatz Nummer 8 in der eingebetteten Kundentabelle an. Würde im selben Formularmodul eine Prozedur die Zeile ShowRec(8) enthalten. Würde in diesem Formular selbst der Datensatz acht angezeigt werden. Dabei spielt es keine Rolle, ob das Formular gerade das aktive ist, oder nicht. Auch wenn es zum Zeitpunkt des Aufrufs völlig verdeckt von anderen Formularen wäre, würde der Aufruf im Formularmodul an genau dieses Formular gehen. Anders, wenn der selbe Aufruf in einem Applikationsmodul steht. In diesem Fall wird immer das gerade aktive Datenfenster benutzt, egal von wo aus der Aufruf kommt. Der Grund dafür ist, dass ShowRec(8) im Applikationsmodul eigentlich ein Aufruf für die Applikation ist, welche dann das aktive Datenfenster sucht und dort den Datensatz anzeigt. ShowRec(8) im Formularmodul ist dagegen ein direkter Aufruf ans Formular und landet deshalb immer bei genau diesem. |