![]() |
C++ nach Delphi
Humppa C-Gurus,
ich versuch mich gerade daran eine C-Structur nach Delphi zu übersetzen und stoße dabei auf ein Problem: Ich kann kein C++ ! :cry: kann mir bitte Einer erklären was das zu bedeuten hat.
Code:
zur näheren Erläuterung der Variablen:
#define GetDocType(options) ((Options & SNDO_DOCTYPE_MASK) >> 12)
#define GetSRDocType(sr) GetDocType ((sr)->Options) #define GetSRDocTypeEx(sr) (((sr)->Flags & SNDF_APPOINTMENT) ? DOC_TYPE_SCHEDULE : \ ((sr)->Flags & SNDF_CONNECT) ? DOC_TYPE_ECT : \ GetSRDocType (sr)) Options und Flags sind von Datentyp word in dem bitweise einzelne Eigenschaften gesetzt sind. SNDO_xxx bzw. SNDF_xxx sind Bitmaskierungen. Aber was haben die Operatoren wie ->, &, ? und : \ zu bedeuten? Bitte helft mir auf die Sprünge, denn ich habe keinen Bock mir wegen diesen "Kleinigkeiten" extra, so kurz vor dem Ziel, ein C++ Buch zu kaufen. :angel: Danke schon mal im Voraus. gmc |
Re: C++ nach Delphi
Tja das sind sog. Templates, die gibbet in Delphi nich. Einfachste Lösung wäre jeweils ne Funktion zu definieren, die genau das macht, was jeweils in den Klammern steht und genauso heisst, wie das Template.
|
Re: C++ nach Delphi
Zitat:
Zitat:
greetz Mike |
Re: C++ nach Delphi
Noch ne kleine Anmerkung:
Zitat:
Beispiel(ich hoffe ich mach das jetzt richtig. Hab mich bisher aus gutem Grund von Makros fern gehalten):
Code:
So ein Verhalten lässt sich mit Funktionen (zum Glück) nicht nachbilden...
#define SQR(x) (x * x)
// ist nicht äquivalent zu: int sqr(int x) { return x * x; } // und zwar dann, wenn man folgendes macht: y = sqr(1 + 2); // ist 9 y = SQR(1 + 2); // ist IMHO 5 // warum? der Präprozessor macht folgendes daraus: y = 1 + 2 * 1 + 2; mfg Christian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 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 by Thomas Breitkreuz