Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - function x(konstante1 and konstante2): int;
g1o2k4 - So 31.08.08 11:41
Titel: function x(konstante1 and konstante2): int;
hi
ich bin auf eine funktion aus einer dll gestoßen der man werte übergeben kann die in form von konstanten gespeichert sind.
in einem beispiel der dll hab ich gesehn, dass man sie wie folgt aufrufen kann:
Delphi-Quelltext
1:
| x(konstante1 and konstante2); |
wie läuft das functionsintern ab, dass beide konstanten benutzt werden ?
muss man dazu abfragen ob mehrere werte übergeben wurden oder geht das automatisch ?
wie sieht das innere so einer funktion aus ?
Hidden - So 31.08.08 11:52
Hi,
Kann es sein, dass es sich bei den Konstanten um Einstellungen o.ä. handelt? Imho kann das 'and' nämlich nur ein bitweises und sein(!) und damit würde deine function einfach überprüfen, ob die einzelnen bits gesetzt sind.
Delphi-Quelltext
1: 2: 3: 4: 5:
| const MotorA = 1; MotorB = 2; MotorC = 4; MotorAB = MotorA and MotorB; |
mfG,
g1o2k4 - So 31.08.08 11:58
hmm aso das könnte sein, aber teilweise gibts auch konstanten mit werten um die 8mio...
BenBE - So 31.08.08 12:23
2^23 ;-)
g1o2k4 - So 31.08.08 12:29
BenBE hat folgendes geschrieben: |
| 2^23 ;-) |
k wenns sinnvoll ist :P
BenBE - So 31.08.08 12:37
Beim GeSHi hab ich letztens 25 Konstanten gebraucht (ging dort um verschiedene Zahlenformate, die vordefiniert waren). Man kommt also schnell in solche Dimensionen ...
Kha - So 31.08.08 13:32
Hidden hat folgendes geschrieben: |
|
Nope,
1 and 10 = 0 ;) .
Normalerweise (wenn man nicht sowieso Delphis Set-Typ nutzt) wird
or zum Verknüpfen und
and zum Auslesen (
Set and Bit = Bit) benutzt, das war wahrscheinlich nur ein Schreibfehler im ersten Post.
Hidden - So 31.08.08 14:16
Kha hat folgendes geschrieben: |
Hidden hat folgendes geschrieben: | | Nope, 1 and 10 = 0 ;) .
Normalerweise (wenn man nicht sowieso Delphis Set-Typ nutzt) wird or zum Verknüpfen und and zum Auslesen (Set and Bit = Bit) benutzt, das war wahrscheinlich nur ein Schreibfehler im ersten Post. |
Ups :) Hab nichtmal nachgedacht. btwAND -> Informationsverlust -> einzelne Konstanten können nicht wieder getrennt werden, da war ich schon fertig :lol:
Edit: Wobei ich es so kennengelernt habe, dass hier der '+' - Operator verwendet wird. Der ist zwar weniger leistungsfähig, aber für Neulinge syntaktisch an dieser Stelle logischer.
mfG,
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!