Die Aufspaltung in mehrere Integertypen halte ich insofern für entbehlich, als daß die Größenbeschränkung der Integervariablen, wie überhaupt alle Beschränkungen des Computers i.d.R. eher restriktiv und hinderlich sind. Der Pointer agiert wie der größte Integertyp (Integer, der bis 2^31-1 ohne Vorzeichenumschaltung funktioniert) und umfaßt damit gewissermaßen alle Integertypen.
Solang man bei Arrayelementen mit gleichem bzw. konstantem Speicherbedarf bleibt, funktioniert die
Unit bestens. Auch ein Record of Integer (benötige ich in meinem
Sortierkino) und der Datentyp string[255] funktionieren einwandfrei. Nicht hinbekommen habe ich bisher die Implementierung der dynamischen Datenstruktur "string", aber daran werde ich mich nicht festbeißen.
Erstellt man typabhängig eigene Klassen (dabei kann man sich die Klassenableitung zunutze machen) und man definiert nur die eine typabhängige "property" als "default", entfällt die Adressierung ".Items" der einzelnen Arrayelemente, außerdem entfällt der ^-Operator. Diese Datenstruktur, auch wenn sie auf TList basiert, ist tatsächlich wie ein (dynamisches!) Array benutzbar.
Was Delphi 3 recht ist, ist Delphi 2 billig. Im Anhang ist mein Delphi-2-Projekt, das die Verwendung der verschiedenen Datentypen demonstrieren soll.
Es wundert mich, daß bisher noch keine Mosereinwände á la "Was soll das, Delphi kann das ab Version 4.0 von Hause aus" kamen (Edit: Doch, himitsu äußerte sich). Mich interessierte das, und delphi2004 beschäftigte sich auf meine vorsichtige Anfrage noch einmal damit. Nunmehr funktioniert es für eindimensionale Arrays (mit der genannten Einschränkung) perfekt, und dafür danke ich ihm auch an dieser Stelle noch einmal herzlich! Nicht zuletzt lernt man ja auch bei solchen Experimentalprojekten hinzu.