Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Fehler: Inkompatible Typen - 'Char' und 'String'?

  Alt 20. Okt 2008, 09:14
Zitat von bernau:
Das Set selber kann 256 verschiedene Elemente beinhalten. In diesem Fall sind es 26+26+10 = 62. Das sind weniger als 256.
Das ist zwar richtig, für das 'SET' aber irrelevant. Bei einer Menge ist nicht die Anzahl der Elemente limitiert, sondern die höchste Ordnungszahl eines Elementes.

Ein 'SET' (Menge) wird intern als 32 Byte langer Bitvektor abgebildet, das entspricht einem 'Packed Array [0..255] Of Boolean'. Daraus folgt nun, das die Elemente einer Menge nur aus einem ordinalen Typ bestehen kann, der
1. maximal 256 verschiedene Werte annehmen kann und
2. dessen höchster Ordinalwert (also Ord(High(TType))) kleiner als 256 sein muss.

Ein "Char" ist somit der größte Datentyp, bei dem man mit Mengen arbeiten kann ("Byte" ist äquivalent)

Es kann sein, das Delphi 2009 dies für 'Set Of Char'-Ausdrücke anders implementiert.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat