| |
|
|
KHR | ¡Hola miteinander,
como stolzer neuer Anwender de P2CPP bin Yo gerade esta algunos Programas en P2CPP "umzustricken"
Dabei ha mich el Comportamiento de P2CPP en escribir de INI-Archivos algunos Tiempo gekostet. Erst después de längerem Suchen Yo entonces el Diferencia entdeckt.
Xprofan wandelt Variablenwert (integer y float) automáticamente correcto en, P2CPP macht el sólo en integer correcto, floats wandelt lo en integer en.
Natürlich puede ser el ligeramente con @str$(float) umgehen, aber uno muß sólo veces en él kommen, qué y wieso como nun anders se ejecuta. Tal vez nutze Yo como en efecto sólo qué, el más ungewollt en Xprofan funktioniert y así no a Verwendung pensamiento es.
Hier mein Ejemplo-Programa y el Ergebnisse: KompilierenMarcaSeparación |
|
|
|
|
RGH | KHR
Egal si nun Bug oder feature - uno sucht ne weile a uno el Ursache findet
Weder Bug todavía Feature, pero falscher Parametertyp: Laut Ayuda es el letzte Parámetro en WriteIni una String, also wäre uno con @Str$() en el sicheren Página. Lässt uno dieses weg, greift en XProfan el automatische Typumwandlung (siehe Ayuda, Abschnitt 7.8 ), el el numerischen Valor en una Sttring umwandelt, wobei el Einstellungen por @Conjunto("Decimals",...) y @Conjunto("NumWidth",...) berücksichtigt voluntad. XProfan benutzt para WriteIni con Ini-Archivos ausschließlich el API-Función WritePrivateProfileString. Möglicherweise nutzt P2CPP en numerischen Werten el API WritePrivateProfileInt, qué erklären sería, dass hier el Umwandlung en una Integer es.
Wenn uno en el sicheren Página ser möchte, debería uno nichts el Zufall y el Typumwandlung no Lenguaje de programación überlassen. ;)
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 17.12.2008 ▲ |
|
|
|
|
Sebastian König | ¡Hola,
auch en Profano2Cpp findet una automatische Typenumwandlung en lugar de (lo son mehrere Versionen para WriteIni() y je después de Typ des letzten Parámetros se el passende aufgerufen). Das Problema es, dass Fließkommazahlen esta bisher no explizit berücksichtigt y ser C++ offenbar en diesem Fall más bien el Integer- como el String-Versión benutzt. Yo voluntad el en el nächsten Versión ändern, así el Comportamiento en Profano2Cpp y XProfan igual es. Abgsehen su ha Roland natürlich bastante así, dass el Verwendung de str$() en cada Fall el sicherste Variante es ;).
MfG
Sebastian |
|
|
| |
|
|
|
| RGH
Wenn uno en el sicheren Página ser möchte, debería uno nichts el Zufall y el Typumwandlung no Lenguaje de programación überlassen. ;)
Saludo Roland
Jau!
El automatische Typumwandlung gestaltet el Fehlerfinden manchmal bastante langwierig.
Lo son aber una undokumentierte Schreibweise (xpse) welche el Voraussetzungen erfüllt, dass Características auch sólo el definierten Typ zurückgeben (puede).
Normales XProfan: KompilierenMarcaSeparación Kleines XPSE 1: (no Parámetros Línea) KompilierenMarcaSeparación Kleines XPSE 2: (kein PROC y ENDPROC, en lugar de dessen como z.B. en c#, php y js geschweifte Klammer para Block.) KompilierenMarcaSeparación Kleines XPSE 3: (Wegfall el Variablensuffixe, en lugar de dessen como z.B. en c#, php, js y pascal/delphi) KompilierenMarcaSeparación Kleines XPSE 4: (Función "meineProc" para Typ "int" deklarieren en z.B. sicher a stellen, dass z.B. kein String zurückgegeben se) KompilierenMarcaSeparación setzt uno el Typ antes el Namen uno Función, se el Funktionswert auch sólo de diesem Typ zurückgegeben. Folgende Varianten son seither disponible: KompilierenMarcaSeparaciónbool meineProc(int a,b,c){volver a+b+c}
int meineProc(int a,b,c){volver a+b+c}
long meineProc(int a,b,c){volver a+b+c}
float meineProc(int a,b,c){volver a+b+c}
cadena meineProc(int a,b,c){volver a+b+c}
(natürlich muss una continuación el Características no (como hier en el Ejemplo) en un einzige Línea "ziehen")
Wenn lo veces interessant se, entonces podría xpse also auch el Rückgabewerte de Características en Zuweisungen en Typengleichheit überprüfen - wo él doch eh como Überbringer unangenehmer Botschaften gefeiert se.
@KHR: XPSE war damals auch wegen Profano2CPP entstanden, funktioniert {$cpp} con usted oder nutzt XPSE no? |
|
|
| |
|
|