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