Noch mal zu dem C Code:
Wie übersetzt man das in Delphi? Eventuell habe ich das falsch Übersetzt.
Alles was am Ende übrig bleibt, das bewertet C als Boolean.
False = 0
True <> 0
also
if TheVar and TheConstOderSonstwas <> 0 then
.
if (osvi.wSuiteMask and VER_SUITE_PERSONAL = VER_SUITE_PERSONAL) then
das ist ja fast genauso gut, wie
if TheBool = true then
, außerdem ist es länger und, wie ich finde, unübersichtlicher, als
if osvi.wSuiteMask and VER_SUITE_PERSONAL <> 0 then
Dieses Konstengenvergleiche ist nur wichtig, wenn es um Vergleiche mehrer Bits geht.
also z.B.
Delphi-Quellcode:
const Value0 = $00;
Value1 = $01;
Value2 = $02;
Value3 = $03;
ValueMask = $0F;
if TheVar and ValueMask = Value2 then