AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Warum verschiedene Konstantenarten?

Ein Thema von Mazel · begonnen am 9. Nov 2007 · letzter Beitrag vom 10. Nov 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#1

Warum verschiedene Konstantenarten?

  Alt 9. Nov 2007, 16:43
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:
SPI_SETDOUBLECLICKTIME = $20;
SPI_SETMOUSEBUTTONSWAP = 33;
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Warum verschiedene Konstantenarten?

  Alt 9. Nov 2007, 16:46
Das weiss wohl nur der Entwickler der Unit.
Markus Kinzler
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#3

Re: Warum verschiedene Konstantenarten?

  Alt 9. Nov 2007, 17:38
Das Ziel ist dabei, andere Entwickler, die sich den Quellcode anschauen, zu verwirren. Einmal nicht aufgepasst, schon ist alles durcheinander.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Warum verschiedene Konstantenarten?

  Alt 9. Nov 2007, 18:14
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.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#5

Re: Warum verschiedene Konstantenarten?

  Alt 9. Nov 2007, 21:24
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).
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#6

Re: Warum verschiedene Konstantenarten?

  Alt 9. Nov 2007, 22:00
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.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#7

Re: Warum verschiedene Konstantenarten?

  Alt 10. Nov 2007, 00:59
Zitat von Mazel:
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).
Hallo,

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
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Warum verschiedene Konstantenarten?

  Alt 10. Nov 2007, 01:16
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.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#9

Re: Warum verschiedene Konstantenarten?

  Alt 10. Nov 2007, 10:05
Zitat von Reinhard Kern:
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.
Du hast Recht, das unterschiedliche Basis je nach Aufgabenbereich angebracht ist aber doch nicht wie in diesem Fall. $20(16) = 32(10). Es wär doch logischer statt $20 32 zu schreiben.
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#10

Re: Warum verschiedene Konstantenarten?

  Alt 10. Nov 2007, 11:44
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
Frederik
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz