Einleitung

4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 2003 (Geändert)


Dieses Kapitel führt Sie in die 4D Programmiersprache ein. Es ist in folgende Abschnitte gegliedert:

 Definition und Verwendung der Programmiersprache,

Methoden verwenden,

Eine Anwendung mit 4D entwickeln.

Was ist eine Sprache?


Die Sprache von 4D unterscheidet sich kaum von der gesprochenen Sprache im Alltag. Es ist eine Kommunikationsart, um Ideen auszudrücken, Anweisungen zu erteilen und Informationen weiterzugeben. Wie die gesprochene Sprache hat 4D ein eigenes Vokabular, sowie eine eigene Grammatik und Syntax, die Sie einsetzen, um Ihre Datenbank und Ihre Daten zu verwalten.

Sie müssen nicht die komplette Sprache kennen, um effektiv mit 4D arbeiten zu können. Schon ein kleiner Teil reicht aus, um produktiv zu arbeiten. Weitere Teile können Sie je nach Bedarf dazulernen.

Warum eine Sprache verwenden?


Auf den ersten Blick erscheint der Einsatz einer Programmiersprache in 4D nicht notwendig. Die Designumgebung bietet flexible Tools, mit denen sich ohne Programmierung unzählige Vorgänge in der Datenverwaltung ausführen lassen. Grundlegende Operationen wie Daten eingeben, Berichte erstellen, Suchen und Sortieren lassen sich mühelos bewerkstelligen. Außerdem stehen viele weitere Funktionalitäten zur Verfügung. Sie können z.B. die Dateneingabe und -sicherung durch Zusätze steuern, ja sogar Diagramme und Etiketten generieren.

Programmieren müssen Sie erst dann, wenn Ihre Anwendung mehr als die Standardfunktionen von 4D enthalten soll. Dazu gehören

Automatische Berechnung eines Feldinhaltes: Beispielsweise der Gesamtpreis (Stückpreis mal Anzahl).

Automatischer Ablauf sich wiederholender Vorgänge, wie z.B. Generieren komplexer Berichte

Anlegen einer eigenen Oberfläche: Beispielsweise soll die Bildschirmoberfläche genau Ihren Bedürfnissen entsprechen, einige Funktionen von 4D sollen für bestimmte Anwender gesperrt sein oder neue Funktionen hinzukommen.

Erweitern der in 4D integrierten Webdienste: Sie wollen eigene dynamische HTML Seiten erstellen, zusätzlich zu den Seiten, die 4D automatisch anhand der Formulare einrichtet.

In diesen Fällen können Sie Ihre Datenbank genau auf Ihre Bedürfnisse hin programmieren.

Mit der Programmiersprache steuern Sie die Struktur und Funktionsweise Ihrer Datenbank selbst.

Die Daten steuern


Die Sprache von 4D eignet sich für Einsteiger und für erfahrene Anwendungsentwickler gleichermaßen. Sie bietet einen reibungslosen Übergang von den vorgegebenen Funktionen der Datenbank zu einer vollständig angepassten Datenbank.

Mit den Befehlen der 4D Programmiersprache haben Sie Zugriff auf die Ihnen bereits bekannten Editoren zur Datenverwaltung. Verwenden Sie zum Beispiel den Befehl QUERY, erhalten Sie den Sucheditor. Dieser Programmierbefehl unterscheidet sich kaum vom Befehl Suchen im Menü Datensätze. Der Unterschied liegt darin, dass Sie mit dem Programmierbefehl QUERY nach spezifischen Daten suchen können. So findet z.B. die Anweisung QUERY ([Kunden];[Kunden]Nachname="Schmidt") in Ihrer Datenbank alle Kunden mit dem Nachnamen Schmidt.

Die 4D Programmiersprache ist sehr leistungsstark—ein Befehl ersetzt oft viele Zeilen Code in herkömlichen Computersprachen. Außerdem sind die Befehlsnamen klar verständlich, da sie aus ganzen Wörtern bestehen. Für einen Suchlauf verwenden Sie den Befehl QUERY; um einen neuen Datensatz hinzuzufügen, verwenden Sie den Befehl ADD RECORD.

Die Sprache ist so aufgebaut, dass Sie fast jeden Vorgang mühelos bewältigen können. Vorgänge wie Datensätze hinzufügen, Datensätze sortieren, nach Datensätzen suchen, lassen sich mit einfachen und direkten Befehlen festlegen. Die Sprache kann aber genauso die serielle Schnittstelle steuern, Dokumente auf der Festplatte lesen, ausgeklügelte Übertragungsprozesse kontrollieren u.v.m.

Die 4D Programmiersprache führt selbst überaus komplexe Aufgaben relativ einfach aus. Für viele wäre die Durchführung solcher Tasks ohne die Programmiersprache schier undenkbar.

Trotz der leistungsstarken Programmierbefehle können manche Vorgänge umfassend und schwierig sein, so dass die Ausführung mit einem Tool allein nicht möglich ist; der Vorgang selbst ist zu umfassend, so dass das Tool den Prozessablauf lediglich erleichtern kann. So lässt sich ein Buch mit einen Textprogramm zwar schneller und einfacher erstellen, das Programm schreibt aber nicht das Buch für Sie. Mit der 4D Programmiersprache lassen sich Ihre Daten leichter verwalten und komplizierte Vorgänge vereinfachen.

Ist 4D eine "traditionelle" Computersprache?


Wenn Sie traditionelle Computersprachen kennen, ist dieser Abschnitt sicher interessant für Sie. Ansonsten können Sie ihn überblättern.

Die 4D Programmiersprache ist keine traditionelle Computersprache. Sie gehört zu den innovativsten und flexibelsten Sprachen, die für Rechner zur Verfügung stehen. Sie ist so konzipiert, dass sie nach Ihrer Art und Weise arbeitet und nicht umgekehrt.

Bei traditionellen Sprachen müssen Sie ausführlich planen. Natürlich zählt Planen zu den wichtigsten Schritten beim Entwickeln. Mit 4D können Sie die Sprache zu jeder Zeit und an beliebiger Stelle in Ihrer Datenbank einsetzen. Sie können z.B. einem Formular eine Methode hinzufügen, und später weitere hinzunehmen. Wird Ihre Datenbank komplexer, können Sie eine über Menü gesteuerte Projektmethode anfügen. Sie können so viel oder so wenig von der Sprache einsetzen, wie Sie gerade benötigen. Sie müssen nicht – wie in vielen anderen Datenbanken – nach der Devise "Alles oder nichts" arbeiten.

In traditionellen Sprachen sind Sie gezwungen, Objekte in formalen syntaktischen Begriffen zu definieren und vorab zu deklarieren. In 4D legen Sie einfach ein Objekt an, beispielsweise eine Schaltfläche und arbeiten damit. Sie zeichnen Ihre Schaltfläche in einem Formular und geben ihr einen Namen. 4D verwaltet das Objekt automatisch für Sie. Klickt der Benutzer auf die Schaltfläche, ruft die Sprache automatisch die entsprechenden Methoden auf.

Traditionelle Sprachen sind oft starr und unflexibel, Befehle müssen in genau vorgeschriebener Form und Stil eingegeben werden. Die 4D Programmiersprache macht Schluss damit und Sie profitieren davon.

Methoden sind die Verbindung zur Sprache


Eine Methode ist eine Reihe Anweisungen, die bewirken, dass 4D ein Task ausführt. Eine Zeile einer Anweisung wird Statement genannt. Jedes Statement besteht aus Teilen der Programmiersprache.

Wir gehen davon aus, dass Sie das Handbuch Jumpstart 4D kennen (Sie haben es doch durchgearbeitet, oder ?). Dort haben Sie bereits Methoden erstellt und angewendet.

Mit 4D können Sie fünf Methodenarten erstellen:

Objektmethoden: Kurze Methoden zum Steuern von Formularobjekten.

Formularmethoden: Verwalten das Anzeigen oder Drucken von einem Formular.

Tabellenmethoden/Trigger: Unterstützen die Regeln für Ihre Datenbank.

Projektmethoden: Methoden, die für die gesamte Datenbank zur Verfügung stehen, z.B. Methoden, die Menüs zugeordnet sind.

Datenbankmethoden: Führen Initialisierungen oder bestimmte Aktionen durch, wenn eine Datenbank geöffnet bzw. geschlossen wird oder sich ein Web Browser an die Datenbank anmelde, die als Web Server im Internet oder Intranet veröffentlicht ist.

Diese Methoden werden nachfolgend ausführlich beschrieben. Sie erfahren auch, wie Sie damit Ihre Datenbank automatisieren können.

Objektmethoden einsetzen

Sie können jedem Formularobjekt, das eine Aktion ausführen kann, d.h. jedem aktiven Objekt eine Methode zuweisen. Eine Objektmethode steuert das aktive Objekt während der Dateneingabe und beim Drucken. Kopieren oder verschieben Sie das aktive Objekt, bleibt die zugeordnete Objektmethode damit verbunden. So können Sie wiederverwendbare Bibliotheken für Objekte mit Objektmethoden erstellen. Die Objektmethode steuert genau dann, wenn sie gebraucht wird.

Objektmethoden sind die wichtigsten Tools zum Steuern der Benutzerschnittstelle, dem Tor zu Ihrer Datenbank. Die Benutzerschnittstelle besteht aus Prozeduren und Konventionen, durch die ein Rechner mit dem Benutzer kommuniziert. Ziel dabei ist, das Arbeiten mit der Benutzeroberfläche Ihrer Datenbank so einfach wie möglich zu machen. Für den Benutzer sollte die Arbeit mit dem Rechner ein angenehmer Prozess sein, der ihm Freude macht oder den er gar nicht bemerkt.

In einem Formular gibt es zwei Grundtypen für aktive Objekte:

Typ 1 zum Eingeben, Anzeigen und Speichern von Daten; wie Datenfelder und Unterdatenfelder,

Typ 2 zum Steuern; wie eingebbare Bereiche, Schaltflächen, rollbare Bereiche, hierarchische Listen und Laufbalken.

Mit 4D können Sie gängige Formulare erstellen:

Sie können auch ein Formular mit grafischer Steuerung erstellen:

Sie können genausogut Formulare einrichten, die Sie nach Ihren eigenen Vorstellungen grafisch gestalten:

Unabhängig vom Aussehen des Formulars haben alle aktiven Objekte vorgegebene Hilfen, wie Bereichsprüfung und Eingabefilter für die Eingabebereiche, automatische Aktionen zum Steuern, für Menüs und Schaltflächen. Verwenden Sie diese Hilfen, bevor Sie Objektmethoden hinzufügen. Vorgegebene Hilfen sind den Methoden ähnlich. Sie bleiben mit dem aktiven Objekt verbunden und werden nur aktiv, wenn dieses benutzt wird. Zum Steuern der Benutzeroberfläche verwenden Sie eine Mischung aus vorgegebenen Hilfen und Objektmethoden.

Objektmethoden können aktiven Objekten für die Dateneingabe (Datenfelder bzw. Variablen) zugeordnet sein. Die Methode kann Daten bestätigen, Daten formatieren oder Berechnungen durchführen. Sie kann sogar verknüpfte Information aus anderen Dateien abrufen. Einige dieser Aufgaben lassen sich natürlich auch mit den vorgegebenen Eingabehilfen für Objekte ausführen. Verwenden Sie Objektmethoden, wenn die Aufgabe mit den vorgegebenen Hilfen nicht zu bewältigen ist. Weitere Informationen dazu finden Sie im Handbuch 4th Dimension Designmodus.

Objektmethoden können aktiven Objekten für die Steuerung (Schaltflächen) zugeordnet sein. Damit navigieren Sie in der Datenbank. Mit Schaltflächen können Sie in Datensätzen und Formularen blättern, sowie Daten hinzufügen bzw. löschen. Sie vereinfachen den Gebrauch der Datenbank und verkürzen die Lernzeit für die Anwendung. Auch für Schaltflächen gibt es vorgegebene Hilfen, die Sie zuerst einsetzen sollten. Über Objektmethoden können Sie eigene Aktionen hinzufügen. Nachfolgende Abbildung zeigt die Objektmethode für eine Schaltfläche, die bei Anklicken den Sucheditor aufruft.

Mit der Zeit werden Sie feststellen, dass bestimmte Aktionen immer wieder vorkommen. Dafür können Sie Bibliotheken mit Objekten und zugeordneteten Methoden anlegen. Diese Objekte mit entsprechenden Methoden können Sie dann zwischen Formularen, Tabellen sowie Datenbanken kopieren und einsetzen. Sie können diese auch unter Windows in der Ablagemappe, auf Macintosh im Album ablegen und je nach Bedarf abrufen.

Formulare mit Formularmethoden steuern

Sie können für jedes Formular eine Formularmethode einrichten. In einem Formular legen Sie fest, wie Daten eingegeben, gelesen und gedruckt werden. Sie können die Daten in unterschiedlicher Form darstellen. Der Benutzer erhält so übersichtliche und leicht zu handhabende Eingabemasken und Berichte zum Drucken. Eine Formularmethode überwacht und verwaltet die Anwendung eines eigenen Formulars zum Eingeben von Daten und zum Ausdrucken.

Formularmethoden arbeiten auf einer höheren Ebene wie Objektmethoden. Objektmethoden werden nur aktiv, wenn das entsprechende Objekt benutzt wird, Formularmethoden werden dagegen aktiv, wenn irgendetwas im Formular benutzt wird. Formularmethoden steuern die Interaktion zwischen den einzelnen Objekten und dem gesamten Formular.

Da Formulare auf ganz unterschiedliche Weise verwendet werden, müssen Sie prüfen können, was während dem Benutzen eines Formulars abläuft. Dafür verwenden Sie Formularereignisse. Sie zeigen an, was gerade im Formular passiert. Jede Art von Ereignis (Klick, Doppelklick, Tastaturkürzel...) aktiviert oder deaktiviert die Ausführung der Formularmethode bzw. der Objektmethode für ein bestimmtes Objekt im Formular.

Weitere Informationen dazu finden Sie im Abschnitt Formularereignis.

Tabellenmethoden/Trigger unterstützen die geltenden Regeln für Ihre Datenbank

Ein Trigger ist einer Tabelle zugeordnet, von daher heißt er auch Tabellenmethode. Trigger werden automatisch von der Engine der 4D Datenbank abgerufen, immer wenn die Datensätze in der Tabelle bearbeitet werden (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 Trigger.

Projektmethoden für die gesamte Datenbank einsetzen

Objektmethoden, Formularmethoden und Trigger sind einem bestimmten Objekt, Formular bzw. einer Tabelle zugeordnet. Im Gegensatz dazu 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.

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.

Arbeitssitzungen mit Datenbankmethoden verwalten

Methoden, die der Datenbank zugeordnet sind, und abgerufen werden, wenn ein Sitzungsereignis eintritt, heißen Datenbankmethoden. 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 Abschnitt Datenbankmethoden.

Ihre Datenbank entwickeln


Eine Datenbank entwickeln heißt, die Datenbank mit der Programmiersprache und den integrierten Tools individuell gestalten.

Schon beim Erstellen einer Datenbank verwenden Sie die Programmiersprache. Alle Teile Ihrer Datenbank – Tabellen und Datenfelder, Formulare und die dazugehörigen Objekte, sowie Menüs sind mit der Programmiersprache verbunden. Die 4D Programmiersprache "kennt" all diese Teile der Datenbank.

Vielleicht verwenden Sie die Sprache zum ersten Mal, wenn Sie einem Formularobjekt eine Methode zur Eingabekontrolle zuweisen. Später fügen Sie eine Formularmethode hinzu, die die Anzeige Ihres Formulars steuert. Wird die Datenbank dann komplexer, können Sie eine eigene Menüleiste mit entsprechenden Projektmethoden anlegen, um Ihre Datenbank an Ihre Bedürfnisse anzupassen.

Wie bei anderen Aspekten von 4D ist auch Entwickeln ein ganz flexibler Prozess. Bis auf wenige Grundregeln gibt es keine festgelegte Vorgehensweise – Sie können frei nach Ihren Vorstellungen entwickeln. Es gelten folgende Grundregeln:

Ausführung: Sie legen die Struktur in der Designumgebung fest.

 Testen: Sie testen die Struktur und eigene Elemente mit dem Befehl Test Application, der die Anwendungsumgebung aufruft.

 Anwendung: Haben Sie Ihre Datenbank komplett nach eigenen Vorstellungen erstellt, starten Sie diese direkt in der Anwendungsumgebung.

Korrekturen: Fehler in der Datenbank beheben Sie in der Designumgebung.

4D enthält spezielle Hilfswerkzeuge zum Entwickeln, die nur bei Bedarf in Erscheinung treten. Je mehr Sie mit der Programmiersprache arbeiten, desto mehr werden Sie feststellen, wie sehr diese Tools die Entwicklung vereinfachen. Der Methodeneditor erkennt z.B. Tippfehler und formatiert Ihre Anweisungen; der Interpreter, d.h. die Engine, die die Sprache aktiviert, erkennt Syntaxfehler und zeigt an, wo sie liegen und wie sie aussehen; der Debugger überwacht die Ausführung Ihrer Methoden, er erkennt Fehler in der Struktur.

Anwendungen strukturieren


Sie sind mit dem allgemeinen Gebrauch einer Datenbank vertraut, dazu gehören Vorgänge wie Daten eingeben, Sortieren, Suchen und Berichte erstellen. Sie haben diese Aufgaben mit Hilfe der vorgegebenen Menüs und Editoren ausgeführt.

Beim Arbeiten mit der Datenbank wiederholen sich einige Abläufe immer wieder. Sie suchen z.B. in einer Datenbank "Personen" nach Ihren Geschäftspartnern, sortieren sie nach dem Nachnamen und drucken, immer wenn sich Informationen geändert haben, einen entsprechenden Bericht aus. Solche Abläufe sind zwar nicht schwierig, sie beanspruchen jedoch immer eine gewisse Zeit, und das summiert sich nach 20 Mal. Führen Sie diese Operation nur alle paar Wochen aus, erinnern Sie sich auch nicht mehr an den genauen Ablauf. Sie können die einzelnen Schritte in einer Methode aneinanderhängen, so dass ein einziger Befehl den kompletten Vorgang automatisch ausführt. Sie müssen die einzelnen Schritte nicht mehr im Kopf haben.

Anwendungen haben eigene Menüs und führen Abläufe aus, die genau auf die Bedürfnisse des Benutzers zugeschnitten sind. Eine Anwendung enthält alle Teile Ihrer Datenbank: Die Struktur, Formulare, Objekt-, Formular- und Projektmethoden sowie Menüs und Kennwörter.

Mit 4D Compiler kompilieren Sie Ihre Datenbank und erstellen eigenständige Anwendungen für Windows und Macintosh. Durch Kompilieren erhöhen Sie die Ausführungsgeschwindigkeit der Programmiersprache, Ihre Datenbanken sind geschützt und Sie können vollkommen unabhängige Anwendungen erstellen. Der integrierte Compiler überprüft auch die Syntax und die Einheitlichkeit der Variablen.

Eine Anwendung kann nur aus einem einzigen Menü bestehen, mit dem Sie Namen eingeben und einen Bericht ausdrucken können. Sie kann aber ebenso ein ganzer Komplex sein aus Rechnungswesen, Lagerhaltung und Steuersystem. Ihrer Phantasie sind keine Grenzen gesetzt. Oft wird eine Anwendung von einer Datenbank, die in der Benutzerumgebung angewendet wird zu einer individuell angepassten Datenbank, die nur noch über eigene Menüs gesteuert wird.

Wie geht es weiter?

Sie entscheiden selbst, ob Sie eine einfache oder eine komplexe Anwendung entwickeln. Für einen kurzen Überblick über eine einfache 4D Anwendung gehen Sie zum Abschnitt Eine 4D Anwendung aufbauen.

Arbeiten Sie zum ersten Mal mit 4D, lesen Sie das Kapitel Grundbegriffe: Beginnen Sie mit Einführung in die 4D Programmiersprache.


4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next