4D v14

Überblick über Variablen

Home

 
4D v14
Überblick über Variablen

Überblick über Variablen    


 

 

Diese Sequenz zeigt, wie Sie Variablen programmieren und Typen definieren, und erläutert ihren Geltungsbereich sowie die Lebensdauer.

Bisher haben wir Variablen für bestimmte Fälle verwendet, z.B. vNbRecords. Jetzt wollen wir näher betrachten, was genau Variablen sind, wie sie arbeiten und welchen Geltungsbereich sie je nach Typ haben.
Wenn wir die Arbeitsweise von 4D mit einer Firma vergleichen, ergibt sich folgendes:

  • Eine Firma besteht aus mehreren Abteilungen mit spezifischen Aufgaben, die oft unabhängig von den anderen Abteilungen ausgeführt werden.
  • Jede Abteilung erledigt eine bestimmte Anzahl Aufgaben in einer spezifischen Reihenfolge.
  • Eine Aufgabe kann unterbrochen werden, weil sie vom Ergebnis eines anderen Prozesses abhängt.
  • Dieser neue Prozess verwendet z.B. zusätzlich zu seinen eigenen spezifischen Daten, auch Informationen eines früheren Prozesses.

Das wollen wir nun in ein praktisches Beispiel übertragen:

  • Ein Unternehmen hat einen Produktionsbetrieb, eine Verkaufsabteilung und eine Personalabteilung.
  • Die Lohnabteilung sammelt die Arbeitsstunden der einzelnen Abteilungen und weist die Löhne an, berechnet die Urlaubstage, etc..
  • Zur Berechnung der Löhne müssen Überstundensätze sowie Sozialabgaben und Steuersätze berücksichtigt werden. Diese Information kommt von der Rechtsabteilung, welche diese Angaben auf dem neuesten Stand hält.

Das vergleichen wir jetzt mit 4D:

  • 4D kann viele Prozesse gleichzeitig verwalten (Drucken, Inhalt mehrerer Tabellen ansehen, Werkzeugpaletten, Importe, Web Server, Web Services beantworten, u.s.w.)
  • Die Methode, die in jedem dieser Prozesse ausgeführt wird, kann mehrere Phasen enthalten.
  • Sie kann andere Methoden im gleichen Prozess aufrufen (Kollegen in derselben Abteilung), oder Information aus einem anderen Prozess anfordern (Kollege aus einer anderen Abteilung)

Für jeden Fall sind passende Variablen verfügbar:

  • Um Information (im Lese/Schreibmodus) für alle Prozesse zugänglich zu machen, verwenden wir Interprozessvariablen. Damit 4D eine Variable als solche bewertet, muss der Variablenname mit den Symbolen <> beginnen.
    (zum Beispiel: <>CurrentDate, <>Rate-TimeTable, etc.)
  • Beim Ausführen eines Prozesses benötigt eine Methode evtl. Information speziell für diesen Prozess. Dann ist es eine lokale Variable. Ihr Name muss mit dem Symbol $ beginnen.
    (zum Beispiel: $Counter, $StampZone, etc.)
  • Alle anderen Variablen (ohne vorangestellte Symbole) sind Prozessvariablen, sie werden im gleichen Prozess von verschiedenen Methoden verwendet.
    (zum Beispiel: vNumRecords, etc.)

Der Punkt zu Informationen, die von der Rechtsabteilung benötigt werden, soll das Konzept der Interprozesskommunikation verdeutlichen.

Über die 4D Befehle GET PROCESS VARIABLE und SET PROCESS VARIABLE lassen sich Variablen aus einem Prozess in einen anderen - ja sogar von einem Client-Rechner zum Server - einlesen oder schreiben.

Hier ein weiteres Beispiel aus dem Lehrbetrieb:

  • Die lokale Variable ist das Notebook des Studenten: Nur er kann hineinsehen, darin lesen oder schreiben.
  • Die Prozessvariable ist die Tafel: Alle Studenten eines Kurses können sie sehen und benutzen. Jeder Student kann auf ihr lesen, schreiben oder löschen.
  • Die Interprozessvariable ist die Informationstafel im Eingangsbereich der Universität, hier stehen z.B. Ergebnisse von Klausuren: Sie ist für alle Studenten, aber auch für Dozenten und den Direktor verfügbar.

Interprozesskommunikation ist, wenn ein Dozent auf der Tafel im Kursraum eines anderen Dozenten liest oder schreibt (Prozessvariable) oder auf die Informationstafel im Eingangsbereich (Interprozessvariable).

Da Sie nun mit dem Geltungsbereich der Variablen vertraut sind, wollen wir uns ansehen, wie sie funktionieren.

In 4D gibt es zwei Variablentypen:

  • Einfache Variablen (mit einem einzelnen Wert)
  • Arrays (mit mehreren Werten)

Sie können einfache Variablen setzen, die dieselben Typen wie für Felder verwenden (Text, Lange Ganzzahl, Datum, Zeit, BLOB, etc.) und den Typ Zeiger.
Arrays akzeptieren die gleichen Typen, mit Ausnahme von BLOB und Zeit.

Die Lebensdauer von Variablen ist wie folgt:

StadiumEinfache VariableArrayKommentar
Geburt = InitialisationC_LONGINT(NumDays)ARRAY TEXT(ArrayDates;0)
INSERT ELEMENT(ArrayDates;1)
ArrayDates{1}:=!06/05/2012!
Wachstum = WertzuweisungNumDays:=25Oder
APPEND TO ARRAY (ArrayDates;!06/05/2012!)
"Entwicklung" Veröffentlichung = VerwendungFor($i;1;NumDays)$StartDate:=ArrayDates{1}+18Variablen sind im Lese/Schreibmodus
End for
Tod= Aus dem Speicher entfernt, Speicherplatz wird freigegebenCLEAR VARIABLE (NumDays)CLEAR VARIABLE(ArrayDates)Die Variable existiert noch, ihr Inhalt wird erneut initialisiert

Sehen wir uns das in einem Beispiel an:

Zum Benennen Ihrer Variablen sollten Sie sich eine bestimmte Regel angewöhnen, damit alles übersichtlich bleibt.

  • Verwenden Sie entweder eine "strikte" Nomenklatur
  • Oder selbsterklärende Namen

Zu Beginn sollten Sie Namen verwenden, die klar und leicht lesbar sind. Sie können sie später immer noch mit Hilfe der globalen Suchfunktion in 4D umbenennen.

Wie bei jeder Programmiersprache sind Variablen in 4D unumgänglich. Setzen Sie Variablen ein, wann und wo immer Sie können.

Beachten Sie, dass bestimmte Variablen in einem Formular nicht gesehen werden können:

  • 2D Arrays
  • BLOBs
  • Zeiger
  • usw.

 
 

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Überblick über Variablen

 
ARTIKELVERWENDUNG

Self-Training ( 4D v13)
Self-Training ( 4D v14)