Difference between revisions of "Data type/de"

From Free Pascal wiki
Jump to navigationJump to search
(95 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{Data type}}
 
{{Data type}}
 
+
<br>
 +
Zurück zu den [[Pascal basics/de|Pascal Grundlagen]].<br>
 +
<br>
 +
=Allgemeines zu Datentypen=
 +
Diese Seite bietet eine Auswahl der Free Pascal Datentypen.<br>
 
Ein '''Datentyp''' ist eine Vorlage für ein [[Data field/de|Datenfeld]].<br>
 
Ein '''Datentyp''' ist eine Vorlage für ein [[Data field/de|Datenfeld]].<br>
Der Datentyp eines Datenfeldes bestimmt, wie der Inhalt eines Datenfeldes von Compiler und Prozessor zu interpretieren sind.<br><br>
+
Der Datentyp eines Datenfeldes bestimmt, wie der Inhalt eines Datenfeldes von Compiler und Prozessor zu interpretieren sind.<br>
Diese Seite bietet eine Auswahl von Datentypen.
+
Die [[datatype visibility/de|Sichtbarkeit]] von [[Data field/de|Datenfeldern]] hängt vom Ort Ihrer Bekanntmachung (Deklaration) ab.
 +
<br>
 +
<br>
  
 
=Ganzzahlige Datentypen=
 
=Ganzzahlige Datentypen=
 
==Vorzeichenlose Typen==
 
==Vorzeichenlose Typen==
 
[[Data field/de|Datenfelder]] vom vorzeichenlosen ganzzahligen Datentyp können nur '''positive''' Ganzzahlen speichern.
 
[[Data field/de|Datenfelder]] vom vorzeichenlosen ganzzahligen Datentyp können nur '''positive''' Ganzzahlen speichern.
 +
* [[UInt8/de|UInt8]] - Wertebereich: (0 .. 255)
 
* [[Byte/de|Byte]] - Wertebereich: (0 .. 255)
 
* [[Byte/de|Byte]] - Wertebereich: (0 .. 255)
 +
* [[UInt16/de|UInt16]] - Wertebereich: (0 .. 65535)
 
* [[Word/de|Word]] - Wertebereich: (0 .. 65535)
 
* [[Word/de|Word]] - Wertebereich: (0 .. 65535)
* [[Cardinal/de|Cardinal]] - entspricht dem Longword
+
* [[NativeUInt/de|NativeUInt]] - Wertebereich: prozessorabhängig
 +
* [[DWord/de|DWord]] - entspricht dem Datentyp Longword
 +
* [[Cardinal/de|Cardinal]] - entspricht dem Datentyp Longword
 +
* [[UInt32/de|UInt32]] - Wertebereich: (0 .. 4294967295)
 
* [[Longword/de|Longword]] - Wertebereich: (0 .. 4294967295)
 
* [[Longword/de|Longword]] - Wertebereich: (0 .. 4294967295)
 +
* [[UInt64/de|UInt64]] - Wertebereich:  (0 .. 18446744073709551615)
 
* [[QWord/de|QWord]] - Wertebereich:  (0 .. 18446744073709551615)
 
* [[QWord/de|QWord]] - Wertebereich:  (0 .. 18446744073709551615)
 +
<br>
  
 
==Vorzeichenbehaftete Typen==
 
==Vorzeichenbehaftete Typen==
 
[[Data field/de|Datenfelder]] vom vorzeichenbehafteten ganzzahligen Datentyp können positive '''und''' negative Ganzzahlen speichern.
 
[[Data field/de|Datenfelder]] vom vorzeichenbehafteten ganzzahligen Datentyp können positive '''und''' negative Ganzzahlen speichern.
 +
* [[Int8/de|Int8]] - Wertebereich: (-128 .. 127)
 
* [[Shortint/de|Shortint]] - Wertebereich: (-128 .. 127)
 
* [[Shortint/de|Shortint]] - Wertebereich: (-128 .. 127)
 +
* [[Int16/de|Int16]] - Wertebereich: (-32768 .. 32767)
 
* [[Smallint/de|Smallint]] - Wertebereich: (-32768 .. 32767)  
 
* [[Smallint/de|Smallint]] - Wertebereich: (-32768 .. 32767)  
 
* [[Integer/de|Integer]] - Wertebereich: entspricht entweder Smallint oder Longint (kommt auf den eingestellten Compilermodus an)
 
* [[Integer/de|Integer]] - Wertebereich: entspricht entweder Smallint oder Longint (kommt auf den eingestellten Compilermodus an)
 +
* [[Int32/de|Int32]] - Wertebereich: (-2147483648 .. 2147483647)
 +
* [[NativeInt/de|NativeInt]] - Wertebereich: prozessorabhängig
 
* [[Longint/de|Longint]] - Wertebereich: (-2147483648 .. 2147483647)
 
* [[Longint/de|Longint]] - Wertebereich: (-2147483648 .. 2147483647)
 
* [[Int64/de|Int64]] - Wertebereich: (-9223372036854775808 .. 9223372036854775807)
 
* [[Int64/de|Int64]] - Wertebereich: (-9223372036854775808 .. 9223372036854775807)
 +
<br>
  
 
=Fliesskommatypen / Fliesspunkttypen=
 
=Fliesskommatypen / Fliesspunkttypen=
 
[[Data field/de|Datenfelder]] die vom Datentyp Fliesskomma sind können:
 
[[Data field/de|Datenfelder]] die vom Datentyp Fliesskomma sind können:
# positive '''und''' negative Ganzzahlen speichern
+
# positive '''und''' negative Ganzzahlen speichern, wobei es Rundungsfehler geben kann.
 
# positive '''und''' negative Fliesskommazahlen speichern
 
# positive '''und''' negative Fliesskommazahlen speichern
 
+
<br>
* [[Real|Real]] - Wertebereich: Plattform abhängig
+
* [[Single/de|Single]] - Wertebereich: (1.5E-45 .. 3.4E38)
* [[Single|Single]] - Wertebereich: (1.5E-45 .. 3.4E38)
+
* [[Real/de|Real]] - Wertebereich: Plattform abhängig
* [[Double|Double]] - Wertebereich: (5.0E-324 .. 1.7E308)
+
* [[Real48/de|Real48]] - Wertebereich: 2.9E-39 .. 1.7E38
* [[Extended|Extended]] - Wertebereich: (1.9E-4932 .. 1.1E4932)
+
* [[Double/de|Double]] - Wertebereich: (5.0E-324 .. 1.7E308)
* [[Comp|Comp]] - Wertebereich: (-2E64+1 .. 2E63-1)
+
* [[Extended/de|Extended]] - Wertebereich: Plattform abhängig
* [[Currency|Currency]] - Wertebereich: (-922337203685477.5808 .. 922337203685477.5807)
+
* [[Comp/de|Comp]] - Wertebereich: (-2E64+1 .. 2E63-1)
 +
* [[Currency/de|Currency]] - Wertebereich: (-922337203685477.5808 .. 922337203685477.5807)
 +
<br>
  
 
=Boolesche Datentypen=
 
=Boolesche Datentypen=
* [[Boolean|Boolean]] - Wertebereich: (Wahr, Falsch)
+
[[Data field/de|Datenfelder]] vom Datentyp Boolean speichern Wahrheitswerte.
* [[ByteBool|Bytebool]] - Wertebereich: (Wahr, Falsch)
+
* [[Boolean/de|Boolean]] - Wertebereich: (Wahr, Falsch)
* [[WordBool|Wordbool]] - Wertebereich: (Wahr, Falsch)
+
* [[Bytebool/de|Bytebool]] - Wertebereich: (Wahr, Falsch)
* [[Longbool|Longbool]] - Wertebereich: (Wahr, Falsch)
+
* [[Wordbool/de|Wordbool]] - Wertebereich: (Wahr, Falsch)
 
+
* [[Longbool/de|Longbool]] - Wertebereich: (Wahr, Falsch)
=Aufzählungstypen=
+
<br>
* [[Enum Type|Enum Type]] - Wertebereich: (ganzzahlige Datentypen)
+
=Aufzählungstypen (Enumeration Types)=
 
+
[[Data field/de|Datenfelder]] vom Datentyp 'Enumeration Type' sind eine Aufzählung ganzzahliger vorzeichenloser Konstanten.
 +
* [[Enum Type/de|Enum Type]] - Wertebereich: (ganzzahlige Datentypen)
 +
<br>
 
=Zeichentypen=
 
=Zeichentypen=
 
==Zeichentypen, bei denen ein Zeichen durch ein Byte codiert wird==
 
==Zeichentypen, bei denen ein Zeichen durch ein Byte codiert wird==
 
* [[Char/de|Char]] - feste Länge: 1 Zeichen, Darstellung: 1 Zeichen
 
* [[Char/de|Char]] - feste Länge: 1 Zeichen, Darstellung: 1 Zeichen
* [[ShortString|ShortString]] - maximale Länge: 255 Zeichen
+
* [[Shortstring/de|ShortString]] - maximale Länge: 255 Zeichen
* [[String|String]] - maximale Länge: Shortstring oder Ansistring (kommt auf den verwendeten Compilerswitch an)
+
* [[String/de|String]] - maximale Länge: Shortstring oder Ansistring (kommt auf den verwendeten Compilerswitch an)
* [[Ansistring|Ansistring]] - keine Längenbegrenzung
+
* [[PChar/de|PChar]] - Zeiger auf einen Nullterminierten String ohne Längenbegrenzung
* [[PChar|PChar]] - Zeiger auf einen Nullterminierten String ohne Längenbegrenzung
+
* [[Ansistring/de|AnsiString]] - keine Längenbegrenzung
 +
* [[Pansichar/de|PAnsiChar]] - Zeiger auf einen Nullterminierten String ohne Längenbegrenzung
 +
* Übersicht über die verschiedenen [[Character and string types/de|Character und String Typen]]
 +
<br>
  
== Zeichentypen, bei denen ein Zeichen durch zwei Byte codiert wird==
+
== Zeichentypen, bei denen ein Zeichen durch zwei oder vier Byte codiert wird.==
* [[WideChar|WideChar]] - feste Länge: 2 Zeichen, Darstellung: 1 Zeichen
+
(Die [[String Encoding/de|Kodierung]] des dargestellten Zeichens durch 2 oder 4 Zeichen ist vom verwendeten Betriebssystem abhängig)<br>
* [[WideString|WideString]] - keine Längenbegrenzung
+
* [[Widechar/de|WideChar]] - feste Länge: 2 oder 4 Zeichen, Darstellung: 1 Zeichen
* [[PWideChar|PWideChar]] - Zeiger auf einen Nullterminierten WideString ohne Längenbegrenzung
+
* [[Widestring/de|WideString]] - keine Längenbegrenzung
* [[UnicodeChar|UnicodeChar]] - entspricht dem WideChar
+
* [[Pwidechar/de|PWideChar]] - Zeiger auf einen Nullterminierten WideString ohne Längenbegrenzung
* [[UnicodeString|UnicodeString]] - keine Längenbegrenzung
+
* [[Unicodechar/de|UnicodeChar]] - feste Länge: 2 oder 4 Zeichen, Darstellung: 1 Zeichen
* [[PUnicodeChar|PUnicodeChar]] - Zeiger auf einen Nullterminierten UnicodeString ohne Längenbegrenzung
+
* [[Unicodestring/de|UnicodeString]] - keine Längenbegrenzung
 +
* [[Punicodechar/de|PUnicodeChar]] - Zeiger auf einen Nullterminierten UnicodeString ohne Längenbegrenzung
 +
* Übersicht über die verschiedenen [[Character and string types/de|Character und String Typen]]
 +
<br>
  
 +
=Varianttypen=
 +
*[[Variant/de|Variant]]
 +
*[[Olevariant/de|OleVariant]]
 +
<br>
 
=Konstanten=
 
=Konstanten=
*Gewöhnliche Konstanten
+
*Untypisierte Konstanten
**[[Const/de|Const]] - es können nur Zeichen, Zeichenketten und Zahlen als Konstante verwendet werden
+
**[[Const/de|Const]] - es können nur einfache Datentypen verwendet werden.
 
*Typisierte Konstanten
 
*Typisierte Konstanten
**[[Const/de|Const]] - es kann der Konstanten nur ein Wert des Datentyps zugewiesen werden, mit dem Sie definiert wurde
+
**[[Const/de|Const]] - es können einfache Datentypen sowie Records und Arrays verwendet werden
 
*Resource Strings
 
*Resource Strings
**[[Resourcestring|Resourcestring]] - dient der sprachspezifischen Beschriftung von Menüs (stehen nicht in allen Compilermodi zur Verfügung)
+
**[[Resourcestring|Resourcestring]] - dient der sprachspezifischen Beschriftung von Menüs (steht nicht in allen Compilermodi zur Verfügung)
 +
<br>
  
 
=Strukturtypen=
 
=Strukturtypen=
* [[Array|Array]] - die Größe des Array hängt von der Art und der Anzahl der verwendeten Elemente ab
+
* [[Array/de|Array]] - die Größe des Array hängt von der Art und der Anzahl der verwendeten Elemente ab
 
* [[Record/de|Record]] - eine Kombination der obigen Datentypen (zusammengefasst)
 
* [[Record/de|Record]] - eine Kombination der obigen Datentypen (zusammengefasst)
* [[Set]] - eine Kollektion von zugehörigen Elementen; die Größe hängt von der Anzahl der Elemente ab
+
* [[Set/de|Set]] - eine Menge von Elementen des Datentyps Char; die Größe des Set hängt von der Anzahl der Elemente ab
 +
<br>
 +
 
 +
=Teilbereichstypen=
 +
* [[subrange types/de|Teilbereichstypen]] sind eine Untermenge eines Basisdatentyps
 +
<br>
  
 
=Zeiger / Pointer=
 
=Zeiger / Pointer=
* [[Pointer|Pointer]] - eine Referenz auf eine Speicherstelle, allgemein verwendet für dynamische Variablen
+
* [[Pointer/de|Pointer]] - Größe: Longint oder Int64
 
+
<br>
 
=Klassen und Objekte=
 
=Klassen und Objekte=
* [[Object|Object]] - unter Turbopascal 5.5 für DOS entwickelt und ein Vorläufer des Typs Class
+
* [[Object/de|Object]] - unter Turbo Pascal 5.5 für DOS entwickelt und ein Vorläufer des Typs Class
* [[Class|Class]] - unter Delphi 1.0 für Windows entwickelt und ist ein Nachfolger des Typs Object
+
* [[Class/de|Class]] - unter Delphi 1.0 für Windows entwickelt und ist ein Nachfolger des Typs Object
 +
<br>
 +
<br>
 +
--[[User:Olaf|Olaf]] 17:58, 20 October 2012 (UTC)
 +
{{AutoCategory}}[[Category:Data types/de]]

Revision as of 17:35, 20 March 2018

Deutsch (de) English (en) español (es) français (fr) Bahasa Indonesia (id) italiano (it) русский (ru)

Zurück zu den Pascal Grundlagen.

Allgemeines zu Datentypen

Diese Seite bietet eine Auswahl der Free Pascal Datentypen.
Ein Datentyp ist eine Vorlage für ein Datenfeld.
Der Datentyp eines Datenfeldes bestimmt, wie der Inhalt eines Datenfeldes von Compiler und Prozessor zu interpretieren sind.
Die Sichtbarkeit von Datenfeldern hängt vom Ort Ihrer Bekanntmachung (Deklaration) ab.

Ganzzahlige Datentypen

Vorzeichenlose Typen

Datenfelder vom vorzeichenlosen ganzzahligen Datentyp können nur positive Ganzzahlen speichern.

  • UInt8 - Wertebereich: (0 .. 255)
  • Byte - Wertebereich: (0 .. 255)
  • UInt16 - Wertebereich: (0 .. 65535)
  • Word - Wertebereich: (0 .. 65535)
  • NativeUInt - Wertebereich: prozessorabhängig
  • DWord - entspricht dem Datentyp Longword
  • Cardinal - entspricht dem Datentyp Longword
  • UInt32 - Wertebereich: (0 .. 4294967295)
  • Longword - Wertebereich: (0 .. 4294967295)
  • UInt64 - Wertebereich: (0 .. 18446744073709551615)
  • QWord - Wertebereich: (0 .. 18446744073709551615)


Vorzeichenbehaftete Typen

Datenfelder vom vorzeichenbehafteten ganzzahligen Datentyp können positive und negative Ganzzahlen speichern.

  • Int8 - Wertebereich: (-128 .. 127)
  • Shortint - Wertebereich: (-128 .. 127)
  • Int16 - Wertebereich: (-32768 .. 32767)
  • Smallint - Wertebereich: (-32768 .. 32767)
  • Integer - Wertebereich: entspricht entweder Smallint oder Longint (kommt auf den eingestellten Compilermodus an)
  • Int32 - Wertebereich: (-2147483648 .. 2147483647)
  • NativeInt - Wertebereich: prozessorabhängig
  • Longint - Wertebereich: (-2147483648 .. 2147483647)
  • Int64 - Wertebereich: (-9223372036854775808 .. 9223372036854775807)


Fliesskommatypen / Fliesspunkttypen

Datenfelder die vom Datentyp Fliesskomma sind können:

  1. positive und negative Ganzzahlen speichern, wobei es Rundungsfehler geben kann.
  2. positive und negative Fliesskommazahlen speichern


  • Single - Wertebereich: (1.5E-45 .. 3.4E38)
  • Real - Wertebereich: Plattform abhängig
  • Real48 - Wertebereich: 2.9E-39 .. 1.7E38
  • Double - Wertebereich: (5.0E-324 .. 1.7E308)
  • Extended - Wertebereich: Plattform abhängig
  • Comp - Wertebereich: (-2E64+1 .. 2E63-1)
  • Currency - Wertebereich: (-922337203685477.5808 .. 922337203685477.5807)


Boolesche Datentypen

Datenfelder vom Datentyp Boolean speichern Wahrheitswerte.

  • Boolean - Wertebereich: (Wahr, Falsch)
  • Bytebool - Wertebereich: (Wahr, Falsch)
  • Wordbool - Wertebereich: (Wahr, Falsch)
  • Longbool - Wertebereich: (Wahr, Falsch)


Aufzählungstypen (Enumeration Types)

Datenfelder vom Datentyp 'Enumeration Type' sind eine Aufzählung ganzzahliger vorzeichenloser Konstanten.

  • Enum Type - Wertebereich: (ganzzahlige Datentypen)


Zeichentypen

Zeichentypen, bei denen ein Zeichen durch ein Byte codiert wird

  • Char - feste Länge: 1 Zeichen, Darstellung: 1 Zeichen
  • ShortString - maximale Länge: 255 Zeichen
  • String - maximale Länge: Shortstring oder Ansistring (kommt auf den verwendeten Compilerswitch an)
  • PChar - Zeiger auf einen Nullterminierten String ohne Längenbegrenzung
  • AnsiString - keine Längenbegrenzung
  • PAnsiChar - Zeiger auf einen Nullterminierten String ohne Längenbegrenzung
  • Übersicht über die verschiedenen Character und String Typen


Zeichentypen, bei denen ein Zeichen durch zwei oder vier Byte codiert wird.

(Die Kodierung des dargestellten Zeichens durch 2 oder 4 Zeichen ist vom verwendeten Betriebssystem abhängig)


Varianttypen


Konstanten

  • Untypisierte Konstanten
    • Const - es können nur einfache Datentypen verwendet werden.
  • Typisierte Konstanten
    • Const - es können einfache Datentypen sowie Records und Arrays verwendet werden
  • Resource Strings
    • Resourcestring - dient der sprachspezifischen Beschriftung von Menüs (steht nicht in allen Compilermodi zur Verfügung)


Strukturtypen

  • Array - die Größe des Array hängt von der Art und der Anzahl der verwendeten Elemente ab
  • Record - eine Kombination der obigen Datentypen (zusammengefasst)
  • Set - eine Menge von Elementen des Datentyps Char; die Größe des Set hängt von der Anzahl der Elemente ab


Teilbereichstypen


Zeiger / Pointer

  • Pointer - Größe: Longint oder Int64


Klassen und Objekte

  • Object - unter Turbo Pascal 5.5 für DOS entwickelt und ein Vorläufer des Typs Class
  • Class - unter Delphi 1.0 für Windows entwickelt und ist ein Nachfolger des Typs Object



--Olaf 17:58, 20 October 2012 (UTC)