Einzelnen Beitrag anzeigen

Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#4

Re: Mehrere Flags mit SHFileOperation [Gelöst]

  Alt 9. Apr 2007, 08:39
Wen es interessiert :

Mit der Verknüpfung von OR werden 2 Bits in 2 Zahlen zusammengebracht:

Nehmen wir an:
Delphi-Quellcode:
fof_Silent = 1 = 00001
fof_NoConfirmation = 4 = 00100
Dann sind die Flags mit OR verknüpft:
Delphi-Quellcode:
fof_Silent = 1 = 00001
fof_NoConfirmation = 4 = 00100
--------------------------------
MyOR = 5 = 00101
Man kann dann mit einer and Verküpfung herausfinden, ob ein bestimmte Bit gesetzt ist :

if MyOr and fof_Silent = fof_Silent then...
Delphi-Quellcode:
MyOr 00101
and 00001 = fof_Silent
-------------
     00001 == fof_Silent
Der AND Operator ergibt nur 1, wenn an beiden Stellen jeweils eine 1 steht.
Alle Bits werden gelöscht, wenn man mit 0 verundet.

Mit dem XOR Operator kann man dann noch ein Bit löschen

Delphi-Quellcode:
MyOR 00101
XOR
fof_Silent 00001
----------------------
            00100
XOR ergibt nur dann 1, wenn von zwei Bits nur EIN Bit gesetzt ist.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat