Thema: Delphi Nocheinmal NetJoinDomain

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.107 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Nocheinmal NetJoinDomain

  Alt 14. Okt 2003, 17:47
Moin Steppo,

nein, mit OR werden die Werte binär verknüpft, bei + addiert.

z.B.
Angenommen, Du hast 4 Konstanten. Drei mit Einzelwerten, die kombiniert werden dürfen, und eine, die die ersten beiden Konstanten schon kombiniert, da diese häufig zusammen verwendet werden.
K1 = 1
K2 = 2
K3 = 4
K4 = 3 (Kombinationskonstante)

Jetzt nimmst Du, versehentlich K1, K2 und K4.
Du willst K1 und K2 Kombinieren, hast aber nicht bedacht, oder weisst es nicht, dass K4 das schon erledigen würde

Bei OR wird der Funktion dann der Wert

1 OR 2 OR 3 = 3 übergeben. Alles gut.

Bei + wird dann aber

1 + 2 + 3 = 6 übergeben. Das entspräche dann K2 OR K3. Was auch immer das bedeutet, es war nicht beabsichtigt.

Eine Funktion kann eine so übergebene Funktion dann so auswerten (und wird es auch so oder ähnlich tun):

Delphi-Quellcode:
if (Flags and K1) = K1 then // Berücksichtige Einstellung K1
if (Flags and K2) = K2 then // Berücksichtige Einstellung K2
// usw.
Es werden also beide übergebenen Möglichkeiten erkannt.
Bei einer Addition wäre das nicht gezielt zu zerlegen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat