4D v16.3

Methoden

Home

 
4D v16.3
Methoden

Methoden  


 

 

Damit Befehle, Operatoren sowie andere Teile der Programmiersprache arbeiten, setzen Sie diese in Methoden. Es gibt verschiedene Arten: Objektmethoden, Formularmethoden, Tabellenmethoden (Trigger), Projektmethoden und Datenbankmethoden. Dieser Abschnitt beschreibt die Features, die für alle Methodenarten gelten.

Eine Methode besteht aus Anweisungen, jede Anweisung ist eine Zeile in der Methode. Eine Anweisung führt eine Aktion aus, die einfach oder komplex sein kann. Obwohl eine Anweisung immer in einer Zeile steht, kann diese Zeile so lang wie erforderlich sein (bis zu 32.000 Zeichen, was für die meisten Fälle ausreichen dürfte).

Folgende Zeile ist eine Anweisung, die der Tabelle [People] einen neuen Datensatz hinzufügt:

 ADD RECORD([People])

Eine Methode enthält auch Abfragen und Schleifen die den Ablauf der Ausführung steuern. Weitere Informationen dazu finden Sie im Abschnitt Ablaufsteuerung.

Hinweis: Eine Methode kann bis zu 2 GB groß sein oder 32.000 Code-Zeilen enthalten. Bei Überschreiten dieser Grenzen erscheint eine Meldung, dass die zusätzlichen Zeilen nicht angezeigt werden.

In 4D gibt es fünf Methodenarten:

  • Objektmethoden: Eine Objektmethode ist normalerweise eine kurze Methode, die einem aktiven Formularobjekt zugeordnet ist. Sie wird automatisch ausgeführt, wenn der Anwender das Objekt ändert, beispielsweise mit einem Klick auf eine Schaltfläche. Objektmethoden in definierten Eingabe- und Ausgabeformularen können auch ausgeführt werden beim Öffnen von Formularen, beim Druck, beim Import und Export von Daten.
  • Formularmethoden: Eine Formularmethode ist einem Formular zugeordnet. Sie wird automatisch ausgeführt, wenn das Formular als Eingabe- oder Ausgabeformular genutzt wird. Eine Formularmethode ist dann sinnvoll, wenn sie für mehrere Formularobjekte gilt, beispielsweise das Errechnen der Gesamtsumme aus verschiedenen Datenfeldern oder wenn sich das Objekt nicht in diesem Formular befindet.

Weitere Informationen zu Objekt- und Formularmethoden finden Sie im Handbuch 4D Designmodus und im Kapitel Formularereignisse.

  • Tabellenmethoden (Trigger): Ein Trigger ist eine Eigenschaft der Tabelle, Sie rufen Trigger nicht auf. Sie werden vielmehr automatisch von der 4D Datenbank-Engine aufgerufen, jedes Mal wenn Sie die Datensätze einer Tabelle bearbeiten. (Hinzufügen, Löschen, Ändern und Laden). Trigger sind Methoden, die “illegale” Operationen mit Datensätzen in Ihrer Datenbank verhindern. Ein Trigger sorgt zum Beispiel in einem Rechnungssystem dafür, dass der Benutzer eine Rechnung nur hinzufügen kann, wenn er auch den Kunden einträgt, an den die Rechnung gestellt wird. Trigger sind ein leistungsstarkes Tool: Sie beschränken Operationen in einer Tabelle und verhindern, dass Daten versehentlich verloren gehen oder beschädigt werden. Sie können ganz einfache Trigger schreiben, und diese dann nach und nach erweitern.

Weitere Informationen dazu finden Sie im Abschnitt Einführung in Trigger.

  • Projektmethoden: Im Gegensatz zu Objektmethoden, Formularmethoden und Trigger, die einem bestimmten Objekt, Formular bzw. einer Tabelle zugeordnet sind, gelten Projektmethoden für die gesamte Datenbank. Sie sind wiederverwendbar und stehen für den Einsatz in jeder anderen Methode zur Verfügung. Soll ein Task wiederholt werden, müssen Sie nicht für jeden Fall die gleiche Methode schreiben. Sie können Projektmethoden immer da aufrufen, wo sie gebraucht werden—aus anderen Projektmethoden oder aus Objekt- bzw. Formularmethoden. Rufen Sie eine Projektmethode auf, läuft sie ab, als ob Sie die Methode an der aufgerufenen Stelle geschrieben hätten. Projektmethoden, die von anderen Methoden aufgerufen werden, werden oft auch “Unterroutinen“ genannt. Eine Projektmethode, die ein Ergebnis zurückgibt, kann auch Funktion heißen.

Sie können Projektmethoden auch Menübefehlen zuordnen. Die Methode wird dann ausgeführt, wenn das Menü aufgerufen wird. Der Menübefehl ruft sozusagen die Projektmethode auf.

Weitere Informationen dazu finden Sie im Abschnitt Projektmethoden.

  • Datenbankmethoden: Analog zu Objekt- und Formularmethoden, die aufgerufen werden, wenn Ereignisse im Formular auftreten, gibt es Methoden, die der Datenbank zugeordnet sind, die aufgerufen werden, wenn ein Sitzungsereignis eintritt. Sie wollen zum Beispiel bei jedem Öffnen der Datenbank einige Variablen initialisieren, die während der ganzen Sitzung verwendet werden. Dafür setzen Sie die Datenbankmethode On Startup ein. 4D ruft diese Methode beim Öffnen der Datenbank automatisch auf.

Weitere Informationen dazu finden Sie im Kapitel Datenbankmethoden.

Alle Methoden funktionieren nach demselben Prinzip—sie starten mit der ersten Zeile und arbeiten jede Anweisung bis zur letzten Zeile ab. Hier ein Beispiel:

 QUERY([People]` Zeige den Sucheditor
 If(OK=1) ` Der Benutzer hat auf OK, nicht auf Abbrechen geklickt
    If(Records in selection([People])=0) ` Wurde kein Datensatz gefunden…
       ADD RECORD([People]` Soll der Benutzer einen neuen Datensatz hinzufügen
    End if
 End if ` Ende

Jede Zeile des Beispiels ist eine Anweisung oder eine Programmierzeile. Alles, was Sie mit Hilfe der Programmiersprache schreiben, wird im allgemeinen als Code bezeichnet. Code wird ausgeführt oder läuft ab; d.h. 4D führt das durch Code festgelegte Task aus.

Wir analysieren die erste Zeile ausführlich und gehen dann rascher voran:

 QUERY([People]` Zeige den Sucheditor

Das erste Element QUERY ist ein Befehl. Ein Befehl ist Teil der 4D Programmiersprache — er führt ein Task aus. In diesem Fall zeigt QUERY den Sucheditor an. Dasselbe geschieht, wenn Sie in der Designumgebung im Menü Datensätze den Menübefehl Suchen aufrufen.

Das zweite Element in runden Klammern ist ein Argument für den Befehl QUERY. Der Befehl benötigt ein Argument bzw Parameter, um ein Task auszuführen. In diesem Fall ist [People] der Name einer Tabelle. Tabellennamen stehen immer in eckigen Klammern ([…]). In unserem Beispiel ist die Tabelle People ein Argument für den Befehl QUERY. Ein Befehl kann auch mehrere Parameter haben.

Das dritte Element ist ein Kommentar am Ende der Zeile. Ein Kommentar erläutert Ihnen bzw. jedem anderen, der Ihren Code liest, was im Code passiert. Er ist durch Apostroph (`) gekennzeichnet. Alles, was nach dem Kommentarzeichen steht, wird bei der Code Ausführung ignoriert. Sie können einen Kommentar in eine eigene Zeile oder, wie im Beispiel neben die Programmierzeile setzen. Verwenden Sie ausführliche Kommentare, denn das erleichert das Lesen und Verstehen von Code für Sie und andere.

Hinweis: Ein Kommentar kann bis zu 32 000 Zeichen lang sein.

Die nächste Zeile prüft, ob Datensätze gefunden wurden:

 If(Records in selection([People])=0) ` Wurde kein Datensatz gefunden…

Die If-Anweisung ist eine Anweisung zur Ablaufsteuerung—sie steuert die Ausführung Ihrer Methode Schritt für Schritt. Die If-Anweisung fragt eine Bedingung ab. Trifft sie zu, d.h. ist sie wahr, werden die nachfolgenden Zeilen ausgeführt. Records in selection ist eine Funktion, d.h. ein Befehl, der einen Wert zurückgibt. Hier gibt Records in selection die Anzahl der Datensätze in der aktuellen Auswahl für die Tabelle zurück, die als Argument übergeben wurde.

Hinweis: Beachten Sie, dass nur der Anfangsbuchstabe der Funktion großgeschrieben ist. Das ist die Namenskonvention von 4D für Funktionen.

Sicher kennen Sie bereits eine aktuelle Auswahl—Es ist eine Gruppe Datensätze, an der Sie gleichzeitig arbeiten. Ist die Anzahl der Datensätze gleich 0 (mit anderen Worten, wurde kein Datensatz gefunden), wird die folgende Zeile ausgeführt:

 ADD RECORD([People]` Soll der Benutzer einen neuen Datensatz hinzufügen

Der Befehl ADD RECORD zeigt ein Formular an, so dass der Benutzer einen neuen Datensatz eingeben kann. 4D formatiert Ihren Code automatisch; beachten Sie, dass diese Zeile eingerückt ist. Damit wird angezeigt, dass sie zur If-Anweisung gehört.

End if ` Ende

Die Anweisung End if schließt die If-Anweisung. Für jede Anweisung benötigen Sie eine Anweisung, die der Programmiersprache angibt, wo die Steuerung aufhört.

Sie sollten mit den hier erläuterten Begriffen gut vertraut sein, bevor Sie weitergehen. Andernfalls lesen Sie den Abschnitt lieber noch ein zweites Mal.

Weitere Informationen zu:



Siehe auch 

Ablaufsteuerung
Datenbankmethoden
Datentypen
Einführung in Arrays
Einführung in Trigger
Konstanten
Namenskonventionen
Operatoren
Variablen
Zeiger

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Grundbegriffe

 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)