Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.199 Beiträge
 
Delphi 12 Athens
 
#2

Re: Delphi Compiler - Mengen und Aufzählungstypen?? [INTERN]

  Alt 20. Feb 2010, 13:34
Bei Sets mit vorfefinierten werten, sowie bei Integersets, ist es nicht so eindeutig,

aber im Allgemeinen:

Delphi-Quellcode:
type e = (a, b, c, d);
  s = set of e;

// oder
type s = set of (a, b, c, d);
Werte sind alle durchnummeriert, von 0 beginnend
a=0, b=1, c=2 und d=3

das Set ist dann ein "Bit-Array" aller werte

Bit 0 = a
Bit 1 = b
Bit 2 = c
Bit 3 = d

ergibt also folgendes
bitmaskte = $1 shl Wert;

$0001 = a
$0002 = b
$0004 = c
$0008 = d
$0010 = ...


Hat das Set also einen wert von $0005, dann sind a und c gesetzt.
$0005 = (1 shl 0) {1} or (1 shl 2) {4} Dann sind in Delphi die Sets so groß/klein wie nötig
- bis 8 Werte = Byte, bis 16 Werte = Word usw.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat