
Gegeben einen C-Header, der aus Zeug wie dem folgenden besteht: DECLARE_STRING(IDS_XYZ_STATUS_BUSY, "Busy") DECLARE_STRING(IDS_XYZ_STATUS_COVER_OPEN, "Cover open") DECLARE_STRING(IDS_XYZ_STATUS_DOOR_OPEN, "Door open") ....(usw, viele hundert Zeilen lang)... möchte ich eine Datei erzeugen, die so ausschaut: [IDS_XYZ_STATUS_BUSY] "Busy" [IDS_XYZ_STATUS_COVER_OPEN] "Cover open" [IDS_XYZ_STATUS_DOOR_OPEN] "Door open"... Dachte ich mir, kopierst du den Auszug in ein Pythonscript und schreibst def DECLARE_STRING(irgendwas, blabla): aber das ist ein Schmarrn, weil, die IDs sind nicht natürlich - äh - natürlich nicht definiert. Nun bin ich ja, die Herren Gläubigen des Templategötzens mögen es mir verzeihen, Senior-Makrologe und schreibe gerne Sachen wie #ifdef IMPORT_BUILD #define DECLARE_STRINGS(__NAME__,__CONTENT__) \ extern const char* __NAME__; #else #define DECLARE_STRINGS(__NAME__,__CONTENT__) \ const char* __NAME__ = __CONTENT; #endif Nun heisst es ja immer, mit Python könne man alles Makromäßige umsetzen - wie aber mache ich sowas? Ich will ja praktisch auf der Fliege ("on the fly"), neue Variablen erzeugen. Wäre es möglich, sich in den Name Lookup der Variablen zu hängen, so daß man z.B. bei Undeclared Identifier die Möglichkeit hat, sich 'ne neue anzuschaffen? Zum lachen: Guckst du Google, suche nach Q246772, klickst du auf die MSDN-Seite. HOWTO: Retrieve and Set the Default Printer in Windows Beachte - die Länge des Beispielcodes im Vergleich zur schier unglaublichen!!!!!!!!1! Schwere der Aufgabe - und, vor allem, die Anmerkungen zum Code darunter _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de