Thema: Delphi Datentypen

Einzelnen Beitrag anzeigen

Andreas L.
(Gast)

n/a Beiträge
 
#8

Re: Datentypen

  Alt 4. Jun 2009, 16:54
Du hast immer noch nicht geschrieben wo du nicht weiterkommst. Du musst doch mit eigenen Worten beschreiben können was z. B. TColor ist und wofür du es in deinem Paint verwendet hast, oder?

@Ordinale Typen:
Geht deine Hilfe noch nicht?
Zitat von Delphi-Hilfe:
Ordinale Typen
Zu den ordinalen Typen gehören Integer-, Zeichen-, Aufzählungs-, Teilbereichs- und Boolesche Typen. Ein ordinaler Typ definiert eine Menge von Werten mit eindeutiger Reihenfolge, in der jeder Wert mit Ausnahme des ersten einen eindeutigen Vorgänger und mit Ausnahme des letzten einen eindeutigen Nachfolger hat. Die Reihenfolge der Werte wird durch deren Ordinalposition festgelegt. In den meisten Fällen hat ein Wert mit der Ordinalposition n einen Vorgänger mit der Ordinalposition n-1 und einen Nachfolger mit der Ordinalposition n+1.

Bei Integer-Typen ist die Ordinalposition mit dem Wert selbst identisch.
Teilbereichstypen übernehmen die Ordinalposition von ihrem Basistyp.
Bei allen anderen ordinalen Typen hat der erste Wert standardmäßig die Ordinalposition 0, der nächste die Ordinalposition 1 usw. In der Deklaration eines Aufzählungstyps kann diese Vorgabe überschrieben werden.
Einige vordefinierte Funktionen operieren mit ordinalen Werten und Typbezeichnern. Die wichtigsten dieser Funktionen sind in der folgenden Tabelle zusammengefasst.
Funktion Parameter Rückgabewert Bemerkungen
Ord
Ordinaler Ausdruck
Ordinalposition des Ausdruckswertes
Akzeptiert keine Int64-Argumente.

Pred
Ordinaler Ausdruck
Vorgänger des Ausdruckswertes


Succ
Ordinaler Ausdruck
Nachfolger des Ausdruckswertes


High
Ordinaler Typbezeichner oder Variable mit ordinalem Typ
Höchster Wert des Typs
Verarbeitet auch kurze String-Typen und Arrays.

Low
Ordinaler Typbezeichner oder Variable mit ordinalem Typ
Niedrigster Wert des Typs
Verarbeitet auch kurze String-Typen und Arrays.


Beispielsweise liefert High(Byte) den Wert 255, weil 255 der höchste Wert des Typs Byte ist. Succ(2) liefert 3, weil 3 der Nachfolger von 2 ist.

Die Standardprozeduren Inc und Dec erhöhen bzw. erniedrigen den Wert der ordinalen Variable. Beispielsweise ist Inc(I) identisch mit I := Succ(I) oder mit I := I + 1, wenn I eine Integer-Variable ist.
Also kann Case nur auf Zahlen (siehe dein Beispiel) und Aufzählungstypen angewandt werden:
Delphi-Quellcode:
type
  TBahnhof = (bhZug, bhBus);

...
...

var
  MeinBahnhof: TBahnhof;
begin
  MeinBahnhof := bhZug;
  case MeinBahnhof of
    bhZug: ShowMessage('Ich fahre mit dem Zug!');
    bhBus: ShowMessage('Ich fahre mit dem Bus!');
  end;
end;
  Mit Zitat antworten Zitat