Anzeigen: Object Pascal C++
Anzeigeeinstellungen

Datentypen, Variablen und Konstanten (Object Pascal)

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Datentypen, Variablen und Konstanten - Index


Dieses Thema gibt einen Überblick über die Datentypen von Object Pascal.

Allgemeines zu Typen

Ein Typ ist im Wesentlichen ein Name für eine bestimmte Art von Daten. Wenn Sie eine Variable deklarieren, müssen Sie ihren Typ festlegen. Der Typ gibt an, welche Werte die Variable aufnehmen kann und welche Operationen mit ihr ausgeführt werden können. Alle Ausdrücke und Funktionen geben Daten eines bestimmten Typs zurück. Den meisten Funktionen und Prozeduren müssen Parameter eines bestimmten Typs übergeben werden.

Object Pascal ist eine streng typisierte Sprache. Sie unterscheidet eine Vielzahl unterschiedlicher Datentypen, die nicht immer durch andere Typen ersetzbar sind. Diese Einschränkung ist normalerweise von Vorteil, da sie dem Compiler eine "intelligente" Datenbehandlung und eine gründliche Überprüfung des Quelltextes erlaubt, wodurch sich die Gefahr schwer diagnostizierbarer Laufzeitfehler verringert. Wenn Sie in bestimmten Fällen mehr Flexibilität benötigen, lässt sich diese strenge Typisierung mithilfe besonderer Techniken umgehen. Dazu gehören die Typumwandlung, Zeiger, Varianten, variante Teile in Record-Typen und die absolute Adressierung von Variablen.

Die Datentypen von Object Pascal können verschiedenen Kategorien zugeordnet werden.

  • Einige Typen sind vordefiniert (oder integriert). Der Compiler erkennt diese Typen automatisch, so dass für sie keine Deklaration erforderlich ist. Die meisten der in dieser Sprachreferenz dokumentierten Typen sind vordefiniert. Andere Typen werden über eine Deklaration erzeugt. Dazu gehören benutzerdefinierte und in den Produktbibliotheken definierte Typen.
  • Typen sind entweder fundamental oder allgemein. Der Wertebereich und das Format fundamentaler Typen ist in allen Implementierungen von Object Pascal identisch, unabhängig von der zugrunde liegenden CPU und dem Betriebssystem. Der Wertebereich und das Format eines allgemeinen Typs hingegen ist plattformspezifisch und von Implementierung zu Implementierung verschieden. Die meisten vordefinierten Typen sind fundamentale Typen, einige der Integer-, Zeichen-, String- und Zeigertypen sind jedoch allgemein. Generell verdienen die allgemeinen Typen den Vorzug, da sie eine optimale Ausführungsgeschwindigkeit und Portabilität gewährleisten. Wenn sich das Speicherformat eines allgemeinen Typs jedoch in einer neuen Implementierung ändert, können Kompatibilitätsprobleme (beispielsweise beim Streamen von Daten in eine Datei als reine Binärdaten ohne Typ- und Versionsinformationen) auftreten.
  • Typen lassen sich in einfache Typen, String-Typen, strukturierte Typen, Zeiger-Typen, prozedurale Typen oder variante Typen einteilen. Auch Typbezeichner selbst gehören zu einem speziellen 'Typ', da sie als Parameter an bestimmte Funktionen (z. B. High, Low und SizeOf) übergeben werden können.
  • Typen können auch parametrisiert bzw. generisch sein. Typen können in dem Sinne generisch sein, als die Basis einer Struktur oder einen Prozedur sind, die mit anderen, später festzulegenden Typen zusammenarbeiten. Nähere Informationen über generische oder parametrisierte Typen finden Sie unter Generics - Index.

Die folgende Aufstellung zeigt die Struktur der Datentypen in Object Pascal.

Einfache Typen
  Ordinaltypen
   Integer-Typen
   Zeichentypen
   Boolesche Typen
   Aufzählungstypen
   Teilbereichstypen
  Reelle Typen
 String-Typen
 Strukturierte Typen
  Mengentypen
  Array-Typen
  Record-Typen
  Dateitypen
  Klassentypen
  Klassenreferenztypen
  Interface-Typen
 Zeiger-Typen
 Prozedurale Typen
 Variante Typen
 Typbezeichner

Die Standardfunktion SizeOf kann alle Variablen und Typbezeichner verarbeiten. Sie liefert einen Integer-Wert zurück, der angibt, wie viele Bytes zum Speichern von Daten eines bestimmten Typs erforderlich sind. Beispielsweise liefert SizeOf(Longint) den Wert 4, weil eine Longint-Variable im Speicher vier Byte belegt.

Typdeklarationen werden in den folgenden Themen erläutert. Allgemeine Informationen zu Typdeklarationen finden Sie unter Typdeklaration.

Siehe auch

Meine Werkzeuge
In anderen Sprachen