Version 6.0
Jeder Befehl zum Erstellen von Arrays kann ein- oder zweidimensionale Arrays erstellen bzw. in der Größe anpassen. Beispiel:
ARRAY TEXT (atTopics;100;50) ` Erstellt ein Array vom Typ Text mit 100 Reihen in 50 Spalten
Zweidimensionale Arrays sind Objekte der Programmiersprache; von daher lassen sie sich weder anzeigen noch ausdrucken.
Im oben angezeigten Beispiel gilt:
atTopics ist ein zweidimensionales Array
atTopics{8}{5} ist das 5. Element (5. Spalte...) der 8. Reihe
atTopics{20} ist die 20. Reihe und selbst ein eindimenisonales Array
Size of array(atTopics) gibt 100 zurück, das ist die Anzahl der Reihen
Size of array(atTopics{17}) gibt 50 zurück, das ist die Anzahl der Spalten für die 17. Reihe
Folgendes Beispiel speichert für jedes Datenfeld jeder Tabelle einen Zeiger in einem zweidimensionalen Array:
` Erstelle zu Beginn soviele leere Reihen wie Tabellen vorhanden sind
ARRAY POINTER (<>apFields;Count tables;0)
` Für jede Tabelle
For ($vlTable;1;Size of array(<>apFields))
` Passe die Reihe mit sovielen Spalten an, wie Datenfelder in der Tabelle
vorhanden sind
INSERT ELEMENT (<>apFields{$vlTable};1;Count fields($vlTable))
` Setze die Werte der Elemente
For ($vlField;1;Size of array(<>apFields{$vlTable}))
<>apFields{$vlTable}{$vlField}:=Field($vlTable;$vlField)
End for
End for
Unter der Voraussetzung, dass dieses zweidimensionale Array initialisiert wurde, erhalten Sie nun die Zeiger auf die Datenfelder für eine bestimmte Tabelle:
` Erhalte Zeiger auf die Datenfelder für die gerade angezeigte Tabelle:
COPY ARRAY (<>apFields{Table(Current form table)};$apTheFieldsIamWorkingOn)
` Initialisiere Datenfelder vom Typ Boolean und Datum
For ($vlElem;1;Size of array($apTheFieldsIamWorkingOn))
Case of
: (Type($apTheFieldsIamWorkingOn{$vlElem}->)=Is Date)
$apTheFieldsIamWorkingOn{$vlElem}->:=Current date
: (Type($apTheFieldsIamWorkingOn{$vlElem}->)=Is Boolean)
$apTheFieldsIamWorkingOn{$vlElem}->:=True
End case
End for
Hinweis: Wie Sie in diesem Beispiel sehen, können Reihen in zweidimensionalen Arrays dieselbe oder verschiedene Größen haben.
Referenz