4D v14Video Skript |
||
|
4D v14
Video Skript
Video Skript
Dieses Video erläutert Zeiger und zeigt, wie Sie damit Ihre Programmierung optimieren und generisch machen können. In der vorigen Übung haben wir jede Aktion, wie Suchen, Sortieren, in der Methode NAVIGATOR_FUNCTIONS eingerichtet. Das ist mühselig. Jetzt wollen wir die Aktion der Tabelle zur jeweiligen Seite zuordnen. Es ist einfacher, die entsprechende Tabelle nur einmal zu Beginn der Methode anzugeben. Wir können diese Anweisung in einer Variablen speichern und sie dann in Befehlen verwenden. Eine Variable ist nicht dasselbe wie eine Tabelle; beide sind vollkommen unterschiedlich und haben auch anderen Inhalt. Eine Variable ist vom Typ Ganzzahl, Text, Bild, etc. und enthält einen Wert. Eine Tabelle ist dagegen kein “Inhalt” wie es ein Wert vom Typ Zahl ist. Die Lösung ist, eine Variable vom Typ Zeiger zu verwenden. Wir setzen diese Variable, es ist eine lokale Variable: C_POINTER($TablePointer) Diese Variable existiert im Speicher. Um einen Wert zuzuweisen, verwenden wir folgende Syntax: $TablePointer:=->[INTERVENTIONS] Wie für Variablen üblich, haben wir:
und später können wir die Tabelle Interventions überall, wo sie verwendet wird, mit dieser Variablen ersetzen, die wir dann noch "dereferenzieren" müssen. Da der gesamte Code hier liegt, lässt sich der Bereich einfach durch Ändern der Tabelle und Kopieren-Einsetzen dieser 2 Zeilen Code ersetzen, vorausgesetzt, wir haben zuvor einen Zeiger auf die Tabelle gesetzt, der sie dann gemäß der Seitennummer wählt. Wir nehmen also den zuvor geschriebenen Code und geben folgendes ein:
Damit müssen wir hier nicht mehr die Seiten testen und wir brauchen diese doppelte Programmierung nicht mehr. Wir haben einen Code, mit dem wir:
Dasselbe Prinzip gilt für Suchläufe:
Verweist der Zeiger auf "Technicians", läuft die Suche in der Tabelle "Technicians". Die Anzahl der gefundenen Datensätze ist die Anzahl der gefundenen Datensätze in der Tabelle "Technicians". |
EIGENSCHAFTEN
Produkt: 4D ARTIKELVERWENDUNG
Self-Training ( 4D v13) |