Forum: Win32/Win64 API (native code)
Delphi
by HalloDu,
5. Aug 2008
Leider noch nicht ganz. Mit 24 ist nicht die Zahl gemeint sonder das 24 Bit deines 32 Bit-Integers. So wie 2 für binär 10 steht. Musst du hier auch das Equivalent zum 24 Bit in Hex oder Dezimal angeben. Also musst du auf diese Zahl 1000 0000 0000 0000 0000 0000 in Hex also auf $800000 prüfen sprich.
if ((lparam AND $800000) > 0) then
begin
...
end;
Ich verweißte hier nochmal gerne...
Forum: Win32/Win64 API (native code)
Delphi
by HalloDu,
5. Aug 2008
Dort ist AND auch nicht logisch (naja eigentlich schon) sonder binär gemeint. Das bedeutet bei zwei Werten, die mit AND verknüpft sind, dass nachher nur die Bits 1 sind, die bei beiden 1 waren.
BSP:
--------------
1110110001
AND 1101001111
--------------
= 1100000001
--------------