IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

[WinDev 9] Problème du compilateur ?


Sujet :

WinDev

  1. #1
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 63
    Points : 85
    Points
    85
    Par défaut [WinDev 9] Problème du compilateur ?
    Salut,

    j'ai un étrange problème avec un bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Balance.SoldeDébut += anouv
    // (Balance est un fichier hyperfile)
    Lors du débogage, Balance.SoldeDébut vaut bien 10000 et anouv = 0, mais l'exécution de cette instruction (ainsi que l'évaluation de Balance.SoldeDébut+anouv) donne 22028.

    Quelqu'un aurait-il déjà eu ce genre de problème ?

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    est notre ami

    Affichage du résultat
    Il n'est pas possible d'afficher directement le résultat du calcul utilisant les opérateurs suivants :
    "++" : Incrémentation
    "--" : Décrémentation
    "+=" : Ajout d'une valeur à la variable ou au champ (numérique ou texte)
    "-=" : Soustraction d'une valeur à la variable ou au champ (numérique)
    Ainsi, cet exemple génère une erreur lors de la compilation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    n est un entier = 10
    Trace(n+=1)
    Pour afficher le résultat, effectuez les modifications suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    n est un entier = 10
    n += 1
    Trace(n)

  3. #3
    Membre expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Points : 3 266
    Points
    3 266
    Par défaut
    sauf que dans notre cas il fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Balance.SoldeDébut += anouv
    qui devrait être équivalent à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Balance.SoldeDébut = Balance.SoldeDébut + anouv
    Emmanuel Lecoester
    => joomla addict.

  4. #4
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 63
    Points : 85
    Points
    85
    Par défaut
    dans le debogueur j'avlaue l'expression

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Balance.soldeDebut + soldeDebut
    le vrai problème est que cette exp donne un resultat erronné. par contre qd je fait qlq chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    n est un numèrique
    n = Balance.soldeDebut
    n+= soldeDebut
    Balance.soldeDebut = n
    le resultat est correct.

  5. #5
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 63
    Points : 85
    Points
    85
    Par défaut
    bon, je crois que je commence à comprendre ce qui se passe,

    la rubrique Balance.soldeDebut est de type numèrique (réél sur 8 octets)
    la variable soldeDebut est numèrique dans le code

    je me suis dit peut-etre ya t il incompatibilité entre ces deux type (Rubrique hyperfile et variable W-langauge) alors j'ai consulté la doc pour savoir combien d'octets fait un numèrique en W-Langauge. J'ai été surpris de découvrir qu'il ny a pas de type "numèrique" (il ya bien réel, entier etc mais pas numèrique)

    etrange vu que la completion automatique propose le type numèrique.

    Quoi qu'il en soit, j'ai tout converti en monétaire et apparemment ca marche sans problème.

    Pour l'instant je considère le prblème résolu, bien que je ne comprends pas toute l'histoire...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/10/2006, 08h21
  2. Réponses: 2
    Dernier message: 10/10/2006, 18h59
  3. Réponses: 3
    Dernier message: 23/08/2006, 17h12
  4. [WinDev 9] Problème initialisation requête
    Par Zipyz dans le forum WinDev
    Réponses: 5
    Dernier message: 27/07/2006, 09h17
  5. problème de compilateur
    Par jamesleouf dans le forum C++
    Réponses: 3
    Dernier message: 19/03/2006, 18h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo