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 :

Introduire la devise par défaut dans une chaine [WD23]


Sujet :

WinDev

  1. #1
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut Introduire la devise par défaut dans une chaine
    Bonjour à tous,

    j'ai un truc surement tout bête ...

    Soit une chaine de caractère "Votre solde est de " + NumériqueVersChaîne( moSolde,".2f") + " XXX"

    ou je voudrais que XXX soit remplacé par la devise par défaut, selon les options régionales de Windows

    Pour les champs, c'est simple "Monétaire défini par le projet (+devise)", mais pour les chaines ?

    J'ai tenté les {$} ... $ ... $$ .... je ne vois pas trop, et dans les NumériquesVersChaine() pas gestion des devises, et rien trouvé dans les masques.

    Je passe à côté de quelque chose ?

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    eDeviseAffParDéfaut et eDeviseMemParDéfaut permettent de récupérer la devise affichée (resp mémorisée).
    En créant un tableau associatif ayant pour clé le N° de la devise et pour valeur le libellé de la devise (valeurs obtenues dans la table des changes que l'on trouve dans la doc,) le code suivant te permet d'obtenir la devise en clair.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    saDevise est chaine
     
    saDevise=tabChange[eDeviseAffParDéfaut()]
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut
    Merci pour la réponse, mais je ne suis pas certain de comprendre.

    Sur un poste Win10 avec préférences linguistiques à Suisse / Français(Suisse) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    trace(eDeviseMemParDéfaut()) 
    trace(eDeviseAffParDéfaut())
    Me donne en trace :

    0
    0

    Et dans la doc :


    0 = eEUR Zone Euro 1 EURO

    Je n'ai donc pas la valeur de "CHF" attendue, elle n'existe d'ailleurs pas dans la table, il faudrait l'ajouter avec eInitDevise() si j'ai bien tout compris ...

    Pourtant la valeur de "CHF" est bien prise en compte dans les champs si on met " (+devise)"

  4. #4
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 371
    Points : 627
    Points
    627
    Billets dans le blog
    1
    Par défaut
    Salut,
    Il faut, je crois, paramétrer cela dans l'onglet langue de la description de projet partie monétaires
    Voir https://help.windev.com/fr-FR/?9500219
    Sinon si tu es sous Windows
    Tu peux consulter la base de registre
    clé : "HKEY_CURRENT_USER\Control Panel\International"
    valeur : "sCurrency"
    Pour connaître celle utiliser sur ton ordinateur

  5. #5
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par wd_newbie Voir le message
    il faudrait l'ajouter avec eInitDevise() si j'ai bien tout compris ...
    En effet avec l'une des devises personnalisables (16 à 25)
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  6. #6
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut
    Merci pour vos conseils.

    C'est un peu compliqué à gérer avec les langues ... vu qu'en Suisse on parle aussi français :-)


    C'est marrant que la devise soit récupérée par Windev pour ses champs et que l'on a pas accès à cette info dans le code.
    Si je veux traiter ça au niveau du projet, il faudrait une langue "Français" → € et "Suisse romand" → CHF ... et traduire toutes les entrée "Français" de français en ... français.

    Peut-être la 929ème nouveautés de la 29

    Je vais tenter avec la BDR s' j'arrive à me débrouiller avec ça

    Merci encore

  7. #7
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par wd_newbie Voir le message
    Si je veux traiter ça au niveau du projet, il faudrait une langue "Français" → € et "Suisse romand" → CHF ... et traduire toutes les entrée "Français" de français en ...
    On a le même problème en France, une partie du territoire utilise le franc CFP
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  8. #8
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut
    On a le même problème en France, une partie du territoire utilise le franc CFP
    C'est marrant, je pensais que tous les territoires français utilisaient l'euro ... je viens de passer sur Wikipedia pour le CFP, c'est vraiment intéressant !

    ... par contre c'est étonnant qu' au moins le franc CFP ne soit pas géré, surtout que PC-Soft est français !

    Vous le faites comment ? en l'ajoutant à l'init du projet comme monnaie "libre" ?

    @ Popoy
    Tu peux consulter la base de registre
    clé : "HKEY_CURRENT_USER\Control Panel\International"
    valeur : "sCurrency"
    J'ai bien la clé "HKEY_CURRENT_USER\Control Panel\International", mais pas de currency. ça ne doit pas être automatiquement sur tous les postes ....

  9. #9
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par wd_newbie Voir le message
    Vous le faites comment ? en l'ajoutant à l'init du projet comme monnaie "libre" ?
    C'est cela, d'autant plus que selon les cas on utilise le CFP, dans d'autres l'Euro et parfois les deux.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  10. #10
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 371
    Points : 627
    Points
    627
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par wd_newbie Voir le message
    C'est marrant, je pensais que tous les territoires français utilisaient l'euro ... je viens de passer sur Wikipedia pour le CFP, c'est vraiment intéressant !

    ... par contre c'est étonnant qu' au moins le franc CFP ne soit pas géré, surtout que PC-Soft est français !

    Vous le faites comment ? en l'ajoutant à l'init du projet comme monnaie "libre" ?

    @ Popoy


    J'ai bien la clé "HKEY_CURRENT_USER\Control Panel\International", mais pas de currency. ça ne doit pas être automatiquement sur tous les postes ....
    C'est bizarre,
    Sinon tu peux utiliser les
    API de Windows GetLocaleInfoA() ou GetLocaleInfoW()
    Voir un exemple sur cette page
    https://forum.pcsoft.fr/fr-FR/pcsoft...96631/read.awp

  11. #11
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut
    Je ne sais pas comment j'ai regardé la dernière fois, mais je me suis remis sur le problème et, cette fois c'est OK :

    Un code qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ResLecture est une chaine 
    ResExécute est un booléen 
     
    ResLecture = RegistreLit("HKEY_CURRENT_USER\Control Panel\International", "sCurrency", ResExécute)
     
    SI ResExécute = Vrai ALORS
        Info("La valeur a été lue et vaut : " + ResLecture)
    SINON 
        Info("Et m...... !") 
    FIN

    Je vais certainement en faire une globale ou une classe qui me permet de récupérer différentes valeurs

    Merci pour votre aide

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

Discussions similaires

  1. [C#] Paramètre par défaut dans une fonction
    Par RobinJulie dans le forum Windows Forms
    Réponses: 5
    Dernier message: 18/01/2012, 14h07
  2. Réponses: 2
    Dernier message: 15/03/2006, 09h44
  3. Réponses: 6
    Dernier message: 14/02/2006, 20h53
  4. Sélection valeur par défaut dans une zone de liste
    Par Cécile154 dans le forum IHM
    Réponses: 2
    Dernier message: 15/02/2005, 18h20
  5. Valeur par défaut dans une table objet
    Par Ricky81 dans le forum Oracle
    Réponses: 12
    Dernier message: 18/03/2004, 11h52

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