4D v16.3

Einführung in die 4D Sprache

Home

 
4D v16.3
Einführung in die 4D Sprache

Einführung in die 4D Sprache  


 

 

Eine Programmiersprache zu lernen, ist ähnlich wie eine Fremdsprache zu erlernen. Sie müssen zuerst den Wortschatz und die Grammatik einüben, d. h. die korrekte Methode, die Wörter sinnvoll aneinanderzureihen. In den folgenden Abschnitten erklären wir Ihnen die Grundwerkzeuge, die mit einigen Abweichungen in allen Programmiersprachen vorkommen:

  • Datentyp: Typ definiert die verschiedenen Werte, die ein Datenfeld oder eine Variable (alphanumerisch, numerisch, boolean…) annehmen können. Weitere Informationen dazu finden Sie im Abschnitt Datentypen.
  • Variable: Speicherplatz, der durch einen Namen bestimmt ist und einen zeitlich begrenzten Wert enthält. Im Gegensatz zum Datenfeld, wird der Inhalt einer Variablen nicht auf der Festplatte gespeichert und ist nicht Teil eines Datensatzes oder einer Datei. Weitere Informationen dazu finden Sie im Abschnitt Variablen.
  • Operator: Symbol, das den Wert eines Ausdrucks berechnet (Addition, Multiplikation). Weitere Informationen dazu finden Sie nachfolgend und im Abschnitt Operatoren.
  • Ausdruck: Zusammensetzung aus verschiedenen Komponenten, die einen Wert zurückgeben. Weitere Informationen dazu finden Sie nachfolgend.
  • Befehl: Führt eine Anweisung aus. Alle 4D Befehle, wie z.B. ADD RECORD, werden in diesem Handbuch beschrieben, sie sind nach Themen zusammengefasst. Über 4D Plug-Ins fügen Sie in Ihre 4D Entwicklungsumgebung weitere Befehle ein. Haben Sie zum Beispiel das Plug-In 4D Write in Ihr 4D System integriert, stehen die 4D Write Befehle zum Erstellen und Verwalten von Textdokumenten zur Verfügung.
  • Vordefinierte Konstanten: Konstantenwerte, die nach Name verfügbar sind. Beispiel: XML DATA ist eine Konstante (Wert 6). Vordefinierte Konstanten machen den Code lesbarer. Sie werden bei den Befehlen, die sie verwenden, beschrieben. Die komplette Übersicht finden Sie im Kapitel Konstantenthemen.
  • Methode: Anweisung, die Sie aus den Elementen der Programmiersprache zusammensetzen. Weitere Informationen dazu finden Sie im Abschnitt Methoden.

Der folgende Abschnitt beschreibt Datentypen, Operatoren und Ausdrücke. Die anderen Begriffe werden unter dem jeweiligen Thema beschrieben.

Zusatzinformationen:

  • Für Komponenten der Programmiersprache, z.B. Variablen gelten bestimmte Namenskonventionen. Weitere Informationen dazu finden Sie im Abschnitt Namenskonventionen.
  • Weitere Informationen zu den Variablen vom Typ Array finden Sie im Kapitel Arrays.
  • Wollen Sie Ihre Datenbank kompilieren, gehen Sie zum Abschnitt Compilerbefehle oder schlagen Sie im Handbuch 4D Designmodus nach.

Der 4D Methodeneditor verwendet ab Version 15, unabhängig von der 4D Version oder lokalen Systemeinstellung, standardmäßig internationale Formate. Das neutralisiert regionale Unterschiede, die beim Austausch von Code zwischen 4D Entwicklern zu Problemen führen können, wie Datumsformate. Befehls- und Konstantennamen in französischen Versionen erscheinen jetzt in Englisch. 

Diese Standardeinstellung bietet 4D Entwicklern zwei bedeutsame Vorteile:

  • Es vereinfacht die gemeinsame Nutzung von Code zwischen Entwicklern, unabhängig von dem Land, den regionalen Einstellungen oder der eingesetzten 4D Version. Eine 4D Methode lässt sich einfach per Copy/Paste, oder in einer Textdatei gesichert, austauschen. Es gibt keine Kompatibilitätsprobleme mehr.
  • 4D Methoden lassen sich in Source-Control Tools einsetzen, die oft Exporte, unabhängig von regionalen Einstellungen und Programmiersprachen, benötigen.

Der Entwickler kann diese Standardeinstellung im Dialogfenster 4D Einstellungen auf der Seite Methoden deaktivieren.

Die Standardeinstellung Englisch-US hat verschiedene Auswirkungen auf die Art, Methoden zu schreiben. Das gilt sowohl für Code, der im Entwicklungsmodus geschrieben wird, als auch für Formeln, die in Anwendungen im Einsatz geschrieben werden.

Es gelten folgende Regeln:

  • In Zahlen müssen Dezimaltrenner in allen Versionen ein Punkt sein ("."), nicht Kommas (",") unabhängig von der Einstellung des Betriebssystems.
  • Datumskonstanten müssen in allen Versionen das ISO Format (!YYYY-MM-DD!) verwenden.
  • Befehls- und Konstantennamen müssen in Englisch sein (betrifft nur die französischen Versionen von 4D).

Hinweise: Der Methodeneditor enthält spezifische Mechanismen, die inkorrekte Eingaben bei Bedarf automatisch korrigieren:
- Wird auf einem deutschen System bei der Code-Eingabe ein Komma als Dezimaltrenner verwendet, wird es automatisch mit Punkt ersetzt.
- Eine Datumseingabe im Format !DD.MM.YYYY! wird automatisch umgewandelt in !YYYY-MM-DD!
- Eingaben der Anwender in Felder vom Typ Zahl oder Datum bleiben unverändert.

Nachfolgende Tabelle erläutert die Unterschiede zwischen Code ab 4D v15 und in früheren Versionen:

Beispiel für Code in Methoden/Formeln
4D v15 (Standardmodus, alle Versionen)a:=12.50
b:=!2013-12-31!
Current date
4D v14 oder 4D v15 (Einstellung markiert, alle Versionen außer Französisch)a:=12.50
b:=!12/31/2013!
Current date
4D v14 oder 4D v15 (Einstellung markiert, französische Version)a:=12,50
b:=!31/12/2013!
Date du jour

Hinweis: Ist die Einstellung "Verwende regionale Systemeinstellungen" markiert, richten sich die Formate vom Typ Zahl und Datum nach den Systemeinstellungen.

In einer 4D Anwendung lassen sich verschiedenen Arten von Daten speichern, das sind die Datentypen. Die Programmiersprache von 4D kennt folgende Typen für Datenfelder bzw. Variablen:

  • String: Eine Zeichenkette wie “Hello there”. Felder und Variablen vom Typ Text, sowie alphanumerische Felder sind vom Datentyp String.
  • Numerisch: Zahlen wie 2 oder 1,000.67. Felder und Variablen vom Typ Lange Ganzzahl und Zahl sind vom Datentyp numerisch.
  • Datum: Datum des Kalenders wie 2003-20-03. Felder und Variablen vom Typ Datum sind vom Datentyp Datum.
  • Zeit: Zeit in Stunden, Minuten und Sekunden wie 1:00:00 oder 4:35:30 PM. Felder und Variablen vom Typ Zeit sind vom Datentyp Zeit.
  • Boolean: Logische Werte vom Typ TRUE oder FALSE. Felder und Variablen vom Typ Boolean sind sind vom Datentyp Boolean.
  • Bild: Felder und Variablen vom Typ Bild sind vom Datentyp Bild.
  • Zeiger: Ein Spezialtyp für fortgeschrittenes Programmieren. Er gilt nur für Variablen, nicht für Datenfelder.
  • Objekt: Zusammengesetzter Datentyp, der beliebige Daten-Sets in Form von Schlüssel-/Wert-Paaren enthalten kann. Felder und Variablen vom Typ Objekt sind vom Datentyp Objekt.

Die Datentypen alphanumerisch und numerisch enthalten mehrere Arten. Werden Daten in ein Feld eingetragen, konvertiert die Programmiersprache die Daten automatisch in den korrekten Typ des Datenfelds. So werden Daten in einem Datenfeld vom Typ Ganzzahl automatisch als numerisch eingestuft. Sie müssen also nicht darauf achten, dass ähnliche Datenfeldtypen vermischt werden, denn das erledigt die Programmiersprache für Sie.

Sie dürfen jedoch nicht verschiedene Datentypen miteinander mischen. Es macht keinen Sinn, die Zeichenkette “ABC” in einem Datenfeld vom Typ Datum einzutragen oder umgekehrt 01.01.98 in ein alphanumerisches Feld zu setzen. 4D toleriert das in den meisten Fällen und versucht, Ihr Vorgehen zu interpretieren. Fügen Sie z.B. eine Zahl in ein Datumsfeld ein, geht 4D davon aus, dass Sie eine Anzahl Tage zum Datum addieren wollen. Versuchen Sie dagegen, eine Zeichenkette in ein Datumsfeld einzufügen, erhalten Sie die Meldung, dass die Operation nicht durchgeführt werden kann.

Es kann auch vorkommen, dass Sie Daten in einem bestimmten Typ abspeichern, sie jedoch in einem anderen Typ verwenden müssen. Das ist mit der 4D Programmiersprache kein Problem. Sie können z.B. eine Artikelnummer mit Zahlen und Buchstaben erstellen:

 [Products]Part number:=String(Zahl)+"abc"

Lautet die Zahl 17, werden die Buchstaben hinzugefügt, die [Products]Part number lautet “17abc”.

Weitere Informationen zu den Datentypen finden Sie im Abschnitt Datentypen.

Ein Operator ist ein Symbol für Berechnungen bei Ausdrücken, wie * als Multiplikationszeichen zur Berechnung zweier numerischer Werte. 4D hat Operatoren zur Berechnung von Zahlenwerten, aber auch von Zeichenketten, Daten, booleschen Ausdrücken, ja selbst Bildern.

Die gängigen Operatoren sind:

OperatorOperationBeispiel
+Addition1 + 2 ergibt 3
Subtraktion3 – 2 ergibt 1
*Multiplikation2 * 3 ergibt 6
/Division6 / 2 ergibt 3

Je nach Datentyp führt dasselbe Symbol unterschiedliche Operationen aus. Das Pluszeichen (+) kann folgende Operationen ausführen:

DatentypOperationBeispiel
NumerischAddition1 + 2 addiert die Zahlen, das Ergebnis ist 3
AlphanumerischZusammenfügen“Hello ” + “there” fügt die Zeichenketten
zusammen, das Ergebnis ist “Hello there”
Datum und ZahlDatumsaddition!1998-1-1! + 20 addiert 20 Tage zum Datum
1.Januar 1998, das Ergebnis ist 21.Januar 1998

Weitere Informationen zu den Operatoren finden Sie im Kapitel Operatoren.

Ausdrücke werden gesetzt und geben einen Wert zurück. Beim Arbeiten mit der 4D Programmiersprache verwenden Sie stets Ausdrücke, auch wenn man meinen könnte, dass es der dargestellte Wert ist. Ausdrücke werden manchmal auch als Formeln dargestellt.

Ausdrücke können fast alle Komponenten der Programmiersprache enthalten, also Befehle, Operatoren, Variablen und Datenfelder. Mit Ausdrücken erstellen Sie Statements, das sind Programmierzeilen, die wiederum zu einer Methode zusammengesetzt werden. Immer wenn die Programmiersprache Daten benötigt, arbeitet sie mit Ausdrücken.

Parameter sind nur in folgenden Fällen eigenständig:

  • Im Dialogfenster Nach Formel suchen
  • Im Debuggerfenster, der den Wert der Ausdrücke prüft
  • Im Dialogfenster Formel anwenden
  • Im Schnellberichteditor als Formel für eine Spalte

Ein Ausdruck kann auch nur eine Konstante sein, also die Zahl 4 oder die Zeichenkette “Hello”. Wie der Name bereits sagt, bleibt der Wert der Konstanten immer gleich. Ausdrücke werden interessant in Verbindung mit Operatoren. Im vorangegangenen Abschnitt haben Sie bereits Beispiele kennengelernt. 4 + 2 ist ein Ausdruck, der über den Operator Plus (+) zwei Zahlen addiert und das Ergebnis 6 zurückgibt.

Sie beziehen sich auf einen Ausdruck gemäß dem Datentyp, den er zurückgibt. Es gibt folgende Arten:

  • Alphanumerische Ausdrücke
  • Numerische Ausdrücke (auch vom Typ Zahl)
  • Ausdrücke vom Typ Datum
  • Ausdrücke vom Typ Zeit
  • Ausdrücke vom Typ Boolean
  • Ausdrücke vom Typ Bild
  • Ausdrücke vom Typ Zeiger
  • Ausdrücke vom Typ Objekt

Nachfolgend sehen Sie ein Beispiel für jede Art:

AusdruckTypErklärung
“Hello”AlphaKonstante vom Typ alphanumerisch, sie steht
zwischen Anführungszeichen.
“Hello ” + “there”AlphaZwei Zeichenketten, “Hello ” und “there”, werden
mit dem Operator Plus (+) zusammengefügt. Der
Ausdruck gibt "Hello there" zurück.
“Mr. ” + [People]NameAlpha Zwei Zeichenketten werden zusammengefügt,
“Mr. ” und der aktuelle Wert des Datenfelds
Name in der Tabelle People.
Enthält das Feld “Schmidt”, gibt der Ausdruck
“Mr. Schmidt” zurück.
Uppercase (“Schmidt”)AlphaDieser Ausdruck verwendet die Funktion
Uppercase, um “Schmidt” in Gross-
buchstaben zu setzen. Er gibt “SCHMIDT” zurück.
4Zahl Die konstante Zahl 4.
4 * 2ZahlDie beiden Zahlen 4 und 2 werden mit dem
Operator für Multiplikation (*) multipliziert.
Das Ergebnis ist die Zahl 8.
MeineSchaltflächeZahlName einer Schaltfläche.
Er gibt den aktuellen Wert der Schaltfläche zurück:
1 Angeklickt, 0 nicht Angeklickt.
!1998-01-25!DatumKonstante vom Typ Datum für das Datum 25.1.98
(25.Januar 1998).
Current date + 30DatumAusdruck vom Typ Datum, der über die Funktion
Current date das aktuelle Datum erhält.
Er addiert 30 Tage zum aktuellen Datum und
gibt das neue Datum zurück.
?8:05:30?ZeitKonstante vom Typ Zeit mit den Werten
8 Stunden, 5 Minuten und 30 Sekunden.
?2:03:04? + ?1:02:03?ZeitDieser Ausdruck addiert zwei Zeiten und gibt
die Zeit 3:05:07 zurück.
TrueBooleanDiese Funktion gibt den Boolean Wert TRUE zurück.
10 # 20BooleanLogischer Vergleich zwischen zwei Zahlen.
Das Nummernzeichen (#) bedeutet “ungleich”.
Da 10 “ungleich” 20 ist, gibt der Ausdruck TRUE
zurück.
“ABC” = “XYZ”BooleanLogischer Vergleich zwischen zwei Zeichenketten.
Da sie nicht gleich sind, gibt der Ausdruck
FALSE zurück.
MyPicture + 50 PixelDieser Ausdruck wählt das Bild in MyPicture,
verschiebt es 50 Pixel nach rechts und gibt das
verschobene Bild zurück.
->[People]NameZeigerDieser Ausdruck gibt einen Zeiger auf das
Datenfeld [Personen]Name zurück.
Table (1)ZeigerDieser Ausdruck gibt einen Zeiger auf die erste
Tabelle zurück.
JSON Parse(MyString)ObjektDieser Befehl gibt MyString als Objekt zurück (bei passendem Format)



Siehe auch 

Datentypen
Einführung in Arrays
Konstanten
Methoden
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)