Forum: Sonstige Fragen zu Delphi
Delphi
by Christian Seehase,
7. Sep 2006
Moin Mackhack,
umgang mit Bitfeldern allgemein, am Beispiel des Feldes Style aus CreateWindow, bzw. GetWindowLong, um den Wert auszulesen:
(Das Beispiel erhebt nicht den Anspruch sinnvoll zu sein ;-))
var
dwStyle : DWORD;
Forum: Sonstige Fragen zu Delphi
Delphi
by Christian Seehase,
7. Sep 2006
Moin Mackhack,
mit OR fügst Du Bitwerte zusammen, und mit AND kannst Du dann die Bits testen.
Bei Bitfeldern niemals mit + oder - arbeiten, da dies ungültige Werte erzeugen kann, die dann zu unverhersagbaren Ergebnissen führen können.
Wenn in der Dokumentation so etwas steht wie: ... one or more ...
Beispiel:
Forum: Sonstige Fragen zu Delphi
Delphi
by Christian Seehase,
7. Sep 2006
Moin Glühwürmchen,
ich würde Dir allerdings empfehlen bei solchen Abfragen auf <> 0 zu testen, da das Ergebnis theoretisch auch negativ sein kein.
(auch wenn das für Deinen konkreten Fall nicht zutrifft.
Forum: Sonstige Fragen zu Delphi
Delphi
by Christian Seehase,
31. Jan 2006
Moin THuman,
erst einmal herzlich willkommen hier in der Delphi-PRAXiS.
Was mir an Deinem Code noch aufgefallen ist:
flags := flagA + flagB;
Du solltest bei Flags niemals mit + (oder evtl. -) arbeiten, nur mit OR bzw. AND, da Du die Zahlenwerte nicht immer kennen kannst, und es durchaus die Möglichkeit gibt, dass ein Flag mehrere gesetzte Bits hat.
Dann kann es bei normalen...