Ein Array hat immer ein Element Null. Es erscheint zwar nicht in einem Array für ein Formularobjekt, es kann jedoch fast uneingeschränkt in der Programmiersprache eingesetzt werden.
Ausnahme: In einem Array vom Typ Listbox wird das Element Null intern zum Speichern des vorigen Wertes eines Elements in Bearbeitung verwendet. Sie können es also in diesem spezifischen Kontext nicht verwenden.
Ein Beispiel dafür haben Sie bereits im Abschnitt Arrays und Formularobjekte unter Combo Boxen gesehen. Hier folgen weitere Beispiele.
1. Eine bestimmte Aktion soll nur ausgeführt werden, wenn ein anderes Element als das zuvor gewählte angeklickt wird. Dazu müssen Sie jedes ausgewählte Element verfolgen. Sie könnten eine Prozessvariable mit der Elementnummer des ausgewählten Elements einsetzen oder wie nachfolgend beschrieben, das Element Null:
Case of
:(Form event=On Load)
ARRAY TEXT(atNames;5)
atNames{0}:="0"
:(Form event=On Unload)
CLEAR VARIABLE(atNames)
:(Form event=On Clicked)
If(atNames#0)
If(atNames#Num(atNames{0}))
vtInfo:="Sie haben geklickt auf: "+atNames{atNames}+" und es wurde vorher noch nicht ausgewählt."
atNames{0}:=String(atNames)
End if
End if
:(Form event=On Double Clicked)
If(atNames#0)
ALERT("Sie haben doppelgeklickt auf: "+atNames{atNames}
End if
End case
2. Im ASCII Kompatibilitätsmodus können beim Senden oder Empfangen von Zeichenketten zu oder aus einem Dokument bzw. serieller Schnittstelle folgende 4D BefehleCodes zwischen Plattformen und Systemen mit unterschiedlichen ASCII Sätzen filtern: USE CHARACTER SET, Mac to ISO, ISO to Mac, Mac to Win und Win to Mac.
In bestimmten Fällen wollen Sie die Übersetzung von ASCII Codes selbst steuern. Sie können dafür ein Array vom Typ Ganzzahl mit 255 Elementen verwenden, wobei das n-te Element den Wert des übersetzten ASCII Code für das Zeichen mit dem ASCII Quellcode N hat. Soll zum Beispiel der ASCII Code #187 als #156 übersetzt werden, schreiben Sie in der Methode zum Initialisieren der Interprozess-Arrays für die gesamte Datenbank ◊aiCustomOutMap{187}:=156 and ◊aiCustomInMap{156}:=187. Dann können Sie mit folgender selbstgestalteten Projektmethode eine Zeichenkette senden:
Wird in diesem komplexen Beispiel eine Zeichenkette OHNE Zeichen (ASCII Code Null) gesendet oder empfangen, hat das Element Null der Arrays ◊aiCustomOutMap und ◊aiCustomInMap dieselbe Rolle wie jedes andere Element aus dem Arrays mit 255 Elementen.