4D v16Generisches Programmieren (ohne Zeiger) |
||
|
4D v16
Generisches Programmieren (ohne Zeiger)
Generisches Programmieren (ohne Zeiger)
Hier sehen Sie, wie Sie Methoden aufrufen und Parameter verwenden. Mehr zu Parametern vom Typ Zeiger im nächsten Kapitel. Ziel der generischen Programmierung ist, die Entwicklung zu optimieren und Wartung und Übertragbarkeit zu vereinfachen. In der Datenbankmethode On Startup haben wir bereits Aufrufen einer Methode verwendet. Wir haben die Methode Navigator aufgerufen. In den ersten Programmierschritten haben wir Schaltflächen konfiguriert, um eine bestimmte Seite im Formular aufzurufen. Das wollen wir jetzt optimieren, so dass es nur eine Methode für alle Steuerungsschaltflächen gibt (All, Query, Order by, usw.).
Sie empfängt 2 Parameter:
Wir rufen diese Methode wie folgt auf: In einer Schaltfläche rufen wir Navigator Functions auf und übergeben
Navigator Functions("All";FORM Get current page) Es gibt zwei Wege, um die Parameter der Methode Navigator Functions zu typisieren: Sie sehen, dass wir die Syntax $1, $2, ... $n verwenden, um jeden Parameter zu finden. Um Ihre Methode leicht lesbar zu machen, empfehlen wir für Variablen explizite Namen, denen Sie den Wert der empfangenen Parameter zuweisen. Schreiben Sie also: C_TEXT($1;$Action) da wir in einer Compiler Direktive C_TEXT mehrere Variablen deklarieren können. Hier die 2. Variable für die Seitennummer: C_LONGINT($2;$PageNum) für den Wert von $1 in $Action und den Wert von $2 in $PageNumber schreiben Sie: $Action:=$1 Die restliche Methode ist eine Anpassung an das, was wir schon früher als Code angelegt haben; wir müssen nur die Aktion an die Anfrage anpassen und sie gemäß der Seite, also der gewählten Tabelle konfigurieren: Wir verwenden:
:($Action="All")
Was passiert mit der Information, die ersetzt werden soll?
Wenn wir zu den Zeigern kommen, ersetzen wir das hier mit einer generischen Methode. Wir können dasselbe mit der Schaltfläche Query ausführen.
und, wie zuvor, ersetzen wir FORM Get current page durch die empfangene Variable. Wir setzen einen Unterbrechungspunkt in der Methode der All-Schaltfläche und prüfen, ob wir beim Ausführen des Formulars zu der neu erstellten Methode gehen. Klicken wir auf "All", sehen wir die Methode in der Ausführung, uns interessiert aber speziell das Ablaufen der Methoden. In der Aufrufabfolge des Debuggers ist:
Bei Doppelklick auf eine Methode erscheint deren Code. Bei Klick auf das kleine Dreieck sehen wir, dass die Methode Navigator_Functions aufgerufen wurde (mit den Parametern "All", FORM Get current page). Die Methode wurde empfangen. Sie hat die Parameter: $1 = "All", $2 = Seitennummer -- hier wird Seite 1 empfangen. Als nächstes kommt $Action is "All", wir gelangen also zu diesem Teil Wir entfernen dann den Unterbrechungspunkt und führen die Methode aus: Klicken Sie auf Technician und suchen z.B. nach Namen, die "bon" enthalten, erscheint BONAPARTE. Klicken Sie auf All, sehen Sie, dass die Methode korrekt arbeitet. Diese Übungen zeigen einen möglichen Weg, Operationen auszuführen. Je nach Ihren eigenen Gewohnheiten bzw. den Entwicklungsstandards in Ihrem Unternehmen können Sie andere Wege wählen zum Organisieren von Abläufen, für die Namensgebung bei Feldern und Variablen, die Reihenfolge beim Setzen von Parametern, etc. Eine Methode kann bis zu 32 Parameter empfangen (von $1 bis $32). In der Regel verwenden Sie jedoch nicht mehr als 7 oder 8 Parameter. Machen Sie großzügig Gebrauch von generischer Programmierung. Durch generische Programmierung können Sie den Umfang Ihres Code verringern, da Sie komplette Funktionsabläufe in derselben Methode bündeln, wo Sie mehrere Parameter übergeben.
|
EIGENSCHAFTEN
Produkt: 4D
GESCHICHTE
ARTIKELVERWENDUNG
Self-Training ( 4D v16) |