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 :

Compilation dynamique avec variable [WD16]


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 38
    Par défaut Compilation dynamique avec variable
    Bonjour à tous,


    J'aimerais bien calculer des formules contenant des variables:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sRc="RENVOYER "+ "nInta+nIntb+32"
    sRes est une chaîne
    sRes=Compile("MonCalcul",sRc)
    Malheureusement, il ne connait pas les deux variables nInta et nIntb déclaré avant. Est-ce qu'il y a un autre moyen de les utiliser dans une chaine ?

    Sachant que les variables doivent se trouver dans la chaine et pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sRc="RENVOYER "+ nInta+nIntb+32

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 402
    Par défaut
    Bonjour,

    Dans ton exemple, tu renvoies le résultat de l'addition ? ou la syntaxe de l'addition ?

    Mais je n'arrive pas à voir l'utilité de la compilation dynamique.

  3. #3
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 38
    Par défaut
    Je veux renvoyer le résultat d'une formule qui est une chaine de caractères.

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 402
    Par défaut
    ok, à mon avis, un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RENVOYER Val(<maFormule>)
    devrait faire l'affaire

  5. #5
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 38
    Par défaut
    Non, malheureusement il me renvoit 0.

    Je m'explique. J'aimerais bien que les utilisateurs puisse modifier les constantes d'une formule.

    formule=a+b+23

    L'utilisateur peut la changer en = a+b+22

    Donc je récupère la formule sous une chaîne de caractères "a+b+22", avec a et b connu dans le code.

    J'aimerais bien récupérer le résultat de cette chaîne de caractère.

  6. #6
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 402
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ninta est entier = 15
    nintb est entier = 2
    sRc est une chaîne ="RENVOYER Val(nInta+nIntb+32)"
    sRes est une chaîne
    sRes=Compile("MonCalcul",sRc)
    Trace(ExécuteTraitement("MonCalcul", trtProcédure))
    Ca me donne 49 comme résultat.
    Avec l'explicatif d'Hibernatus, ça devrait bien t'aider.

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 557
    Par défaut
    Bonjour,

    ...Donc je récupère la formule sous une chaîne de caractères "a+b+22", avec a et b connu dans le code....
    Si "a" et "b" on était déclaré au préalable en amont du code, alors vous pouvez vous en sortir avec de l'indirection.

    en reprenant votre code du premier post cela donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sRc="RENVOYER {nInta,indVariable} + {nIntb,indVariable} + 32"
    sRes est une chaîne
    sRes=Compile("MonCalcul",sRc)

  8. #8
    Membre Expert
    Inscrit en
    Août 2010
    Messages
    732
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 732
    Par défaut
    Bonjour,

    La compilation dynamique crée une fonction.
    Soit les variables sont locales et doivent être déclarées dans le code de cette fonction.
    Soit les variables sont partagées avec le projet hôte, et là il faut qu'elles soient globales.

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

Discussions similaires

  1. [XL-2003] Problème tableau croisé dynamique avec variable
    Par liop49 dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 22/05/2012, 18h27
  2. Compilation dynamique avec ressources intégrés
    Par Petite_Escalope dans le forum VB.NET
    Réponses: 1
    Dernier message: 05/07/2007, 20h21
  3. Réponses: 2
    Dernier message: 10/12/2006, 09h57
  4. Problème avec variable dynamique
    Par moyjunior dans le forum Linux
    Réponses: 2
    Dernier message: 22/11/2006, 11h46
  5. Couleur de cellule XSL dynamique avec une variable
    Par Steff1985 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/10/2005, 11h10

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