![]() |
Warum verschiedene Konstantenarten?
Hallo,
da ich gerade am verbeissern meines Programmes bin, daher nochmal genau drüber schaue, und ich vorher Konstanten immer so übernommen habe, wie sie zum Beispiel auch in der Windows.pas zu finden sind, frage ich mich nun, warum zum Beispiel für SystemParametersInfo die Konstanten SPI_... mal Hexadezimal und mal als Integer angegeben werden?
Delphi-Quellcode:
Mazel
SPI_SETDOUBLECLICKTIME = $20;
SPI_SETMOUSEBUTTONSWAP = 33; |
Re: Warum verschiedene Konstantenarten?
Das weiss wohl nur der Entwickler der Unit.
|
Re: Warum verschiedene Konstantenarten?
Das Ziel ist dabei, andere Entwickler, die sich den Quellcode anschauen, zu verwirren. Einmal nicht aufgepasst, schon ist alles durcheinander.
|
Re: Warum verschiedene Konstantenarten?
Windows ist "Closed Source". Es ist absolut verboten, irgendwelche Teile zu verstehen. Mit dem sog. 'inconsistent constant declarations security mechanism' (ICDSM) hat Microsoft ein inzwischen patentiertes Verfahren entwickelt, um jegliche Spionageversuche im Keim zu ersticken. Dies geschieht durch sog. 'brain unfolding', dem Vorläufer des Code-foldings. :stupid:
|
Re: Warum verschiedene Konstantenarten?
Hehe. Wie es aussieht, gibt es da wohl noch andere Beispiele? Aber warum haben die Übersetzer aus C zu Delphi, die Konstanten belassen? Wenn ich an deren Stelle wär, würde ich diese doch so umformen, dass sie alle gleich sind bzw. der gleichen Art entsprechen (entweder Hex oder Int).
|
Re: Warum verschiedene Konstantenarten?
Naja, Konstanten werden teilweise einfach nach und nach hinzugefügt, zum Beispiel weil sie einfach in einer neuen Version neu sind. Wenn das dann ein anderer Schreiberling macht, kann das schonmal passieren.
|
Re: Warum verschiedene Konstantenarten?
Zitat:
MS-Bashing ist ja in, aber nicht immer angebracht, es gibt auch Gründe für unterschiedliche Basis: Wenn ich einfach was abzähle, z.B. Zustände 1 .. 15, dann gebe ich das dezimal an, weil jeder normale Mensch auch so zählt. Wenn ich Adressen angebe, dann meistens in Hex, weil die nun mal in Kilo=1024 usw. organisiert sind und Dezimale Adressen daher wenig aussagefähig. Bei kombinierten Flags ebenfalls Hex oder wenns geht gleich Binär. Geldbeträge in Hex oder Steuersätze wären auch eine ausgesprochen blöde Idee. Einigen Antwortern hier scheinen solche Zusammenhänge völlig unbekannt zu sein - da erübrigt sich jede zusätzliche Massnahme zur Verwirrung. Vielleicht sollten sich manche doch erst mal mit den Grundlagen wie z.B. Zahlensysteme befassen, bevor sie grundlos auf MS einprügeln. Dafür gibt es noch genügend seriösen Anlass, allerdings benötigt man dazu auch eine entsprechende Qualifikation. Gruss Reinhard |
Re: Warum verschiedene Konstantenarten?
Hey, wer ist denn hier so aufbrausend?
Die Kommentare oben waren doch nur lustig gemeint (und haben bei mir auch ihre Wirkung nicht verfehlt ;-) Warum die Zahlen unterschiedlich angegeben werden ist hier unerheblich, wahrschienlich aus dem Grunde, den Ghost genannt hat. Auf jeden Fall beoi diesem Ausschnitt kann es keiner Deiner gewesen sein. |
Re: Warum verschiedene Konstantenarten?
Zitat:
|
Re: Warum verschiedene Konstantenarten?
Hi,
sind denn die Konstanten in der Windows.h bzw. im SDK auch in verschiedenen Zahlensystemen? Ich hab gestern kurz geguckt, da waren die alle einheitlich. Also nix mit Windows-Bashing, ist ja nur bei Codegear so. Da ließe sich auch viel "bashen"... Gruß Assertor |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz