Français
C ++ Forum

Unterschied INI-Fichiers entre XP-11 et P2CPP2.0

 

KHR
allô miteinander,

comme stolzer neuer Anwender de P2CPP suis je justement dabei quelques Programme sur P2CPP "umzustricken"

Dabei hat mich cela Comportement des P2CPP chez écrivons de INI-Fichiers quelques Zeit gekostet.
seulement pour längerem chercher habe je ensuite den Unterschied entdeckt.

Xprofan wandelt Variablenwert (integer et float) automatisch richtig um, P2CPP pouvoir cela seulement chez integer richtig, floats wandelt es dans integer um.

Bien sûr peux on cela léger avec @str$(float) tourner autour de, mais il faut seulement la fois sur elle venons, quoi et wieso là eh bien anders fonctionne. peut-être nutze je là oui aussi seulement quoi, cela plutôt ungewollt dans Xprofan funktioniert et so pas zur Verwendung gedacht ist.

ici mon Beispiel-Programme et qui Ergebnisse:
KompilierenMarqueSéparation
declare INI_Datei$
declare temp1%
declare temp2!
 $IFDEF P2CPP
INI_Datei$ ="D:\TMP\P2CPPTEST.INI"
 $ENDIF
 $IFDEF COMPILER
INI_Datei$ ="D:\TMP\XP11TEST.INI"
 $ENDIF

whileloop 8

    temp1% = @rnd(500)
    temp2! = @rnd()*500
    WriteIni INI_Datei$,"Integer","Parameter-"+@trim$(@str$(&loop)) = temp1%
    WriteIni INI_Datei$,"Float","Parameter-"+@trim$(@str$(&loop)) = temp2!

Gruß
Karl-Heinz
WIN XP home/Pro / XPROFAN 11 / P2CPP
ATMEL + BASCOM Fan
17.12.2008  
 




RGH
KHR
égal si eh bien Bug ou bien feature - on cherchez ne weile jusqu'à on qui Ursache findet


Weder Bug encore Feature, mais falscher Parametertyp: le son Aider ist qui dernier paramètre chez WriteIni un String, alors wäre on avec @Str$() sur qui sicheren page.
Lässt on cet weg, greift chez XProfan qui automatische Typumwandlung (siehe Aider, paragraphe 7.8 ), qui den numerischen Wert dans une Sttring umwandelt, wobei qui Einstellungen par @Set("Décimal",...) et @Set("NumWidth",...) berücksichtigt volonté.
XProfan benutzt pour WriteIni avec Ini-Fichiers ausschließlich qui API-Funktion WritePrivateProfileString.
Möglicherweise utilise P2CPP chez numerischen Werten qui API WritePrivateProfileInt, quoi expliquer serait, dass ici qui Umwandlung dans une Integer erfolgt.

si on sur qui sicheren page son voudrais, sollte on rien dem Zufall et qui Typumwandlung pas qui Programmiersprache überlassen. ;)

Salut
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
Salut,

aussi dans Profan2Cpp findet une automatische Typenumwandlung statt (il y a plusieurs Versionen pour WriteIni() et je pour Typ des letzten Paramètres wird qui passende aufgerufen). cela Problem ist, dass Fließkommazahlen dabei bisher pas explizit berücksichtigt volonté et C++ évident dans diesem le cas lieber qui Integer- comme qui String-Version benutzt. je werde cela dans qui prochain Version changement, avec cela cela Verhalten dans Profan2Cpp et XProfan juste ist. Abgsehen en hat Roland naturellement droite avec cela, dass qui Verwendung de str$() dans chaque le cas qui sicherste variante ist ;).

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
17.12.2008  
 



RGH
si on sur qui sicheren page son voudrais, sollte on rien dem Zufall et qui Typumwandlung pas qui Programmiersprache überlassen. ;)

Salut
Roland


Jau!

qui automatische Typumwandlung gestaltet cela Fehlerfinden quelquefois assez langwierig.

il y a mais une undokumentierte Schreibweise (xpse) quelle qui Voraussetzungen erfüllt, dass Funktionen aussi seulement den definierten Typ zurückgeben (peut).

Normales XProfan:
KompilierenMarqueSéparation
Kleines XPSE 1: (aucun Paramètres la ligne)
KompilierenMarqueSéparation
proc meineProc(a%,b%,c%)

    return a%+b%+c%

endproc


Kleines XPSE 2: (ne...aucune PROC et ENDPROC, statt dessen comment z.B. dans c#, php et js geschweifte Klammer pour Block.)
KompilierenMarqueSéparation
meineProc(a%,b%,c%){

    return a%+b%+c%

}


Kleines XPSE 3: (Wegfall qui Variablensuffixe, statt dessen comment z.B. dans c#, php, js et pascal/delphi)
KompilierenMarqueSéparation
Kleines XPSE 4: (Funktion "meineProc" zum Typ "int" déclarer um z.B. sûrement trop se mettre, dass z.B. ne...aucune String retour wird)
KompilierenMarqueSéparation
mets on den Typ avant dem Namen einer Funktion, wird qui Funktionswert aussi seulement de diesem Typ retour. Folgende Varianten sommes seither vorhanden:
KompilierenMarqueSéparation
(naturellement muss on ensuite qui Funktionen pas (comment ici im Beispiel) dans un einzige la ligne "ziehen")

si es la fois intéressant wird, ensuite pourrait xpse alors aussi qui Rückgabewerte de Funktionen chez Zuweisungen sur Typengleichheit überprüfen - wohin il doch eh comme Überbringer unangenehmer Botschaften gefeiert wird.

@KHR: XPSE était autrefois aussi à cause de Profan2CPP entstanden, funktioniert {$cpp} chez Dir ou bien utilise XPSE pas?
 
17.12.2008  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

3.352 Views

Untitledvor 0 min.
rquindt31.05.2020
funkheld16.12.2013
H.Hackl05.03.2012

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie