Konstanten in einem Long-Value auseinanderklabüschtern

26/01/2009 - 17:03 von Ulf Hansen | Report spam
Hallo!
Wenn ich z. B. sage:

Dim lFlags As DrawTextFlags
lFlags = DT_CENTER + DT_CALCRECT + DT_SINGLELINE

... wie könnte ich denn jetzt herausbekommen, ob in lFlags das flag
"DT_CALCRECT" enthalten ist?
Bei z. B. vbMsgboxResult ist es ja auch so, dass die VB runtime (?) das
wieder auseinanderwursteln muss, oder?

Und noch eine Frage: Ist es egal, ob ich

DT_CENTER Or DT_CALCRECT Or DT_SINGLELINE

oder

DT_CENTER + DT_CALCRECT + DT_SINGLELINE

sage?

Danke!!
Ulf
 

Lesen sie die antworten

#1 Dieter Strassner
26/01/2009 - 17:11 | Warnen spam
Hallo Ulf

Wenn ich z. B. sage:

Dim lFlags As DrawTextFlags
lFlags = DT_CENTER + DT_CALCRECT + DT_SINGLELINE

... wie könnte ich denn jetzt herausbekommen, ob in lFlags das flag
"DT_CALCRECT" enthalten ist?



durch ? lFlags AND DT_CALCRECT


Und noch eine Frage: Ist es egal, ob ich

DT_CENTER Or DT_CALCRECT Or DT_SINGLELINE

oder

DT_CENTER + DT_CALCRECT + DT_SINGLELINE

sage?



nein, denn "+" addiert die Konstanten auf. Ein OR setzt nur die Bits
teste mal selbst indem 2x die Konstante mit + verbunden und dann mit OR
verbunden reinschreibst. Es gibt unterscheidlcihe Ergebnisse!
Also immer OR verwenden!


Viele Grüße

Dieter


Rückfragen bitte nur in die Newsgroup!

EDV-Kommunikation Strassner e.K.
68623 Lampertheim
Internet: www.strassner.biz

Ähnliche fragen