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

Langage Delphi Discussion :

Problème avec Decimalseparator qui change dans mon dos


Sujet :

Langage Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Problème avec Decimalseparator qui change dans mon dos
    Bonjour,
    Je suis l'auteur d'un gros programme en Delphi (660 000 ligne de code), et j'ai un problème avec la variable decimalseparator.

    J'ai mis decimalseparator:='.' au début de mon programme, mais j'ai la certitude que cette variable est changée sans arrêt dans mon dos avec les machines francaise... ou c'est le ',' qui fait decimalseparator.
    Cette certitude vient de mon experience, ou j'ai vu que des strtofloat ne marchent plus et remarchent si je mets qq lignes plus haut decimalseparator:='.' alors que je l'ai fait en debut de programme.

    J'ai du mettre un peu partout des decimalseparator:='.' , mais c'est vraiment pas beau...

    ou sinon dire aux utilisateurs de passer dans Windows dans le panel de config tout les ',' des nbres flottants sur le '.'

    Bref, le truc bien ennuyant...

    Si quelqu'un connait un truc pour se debarasser de ce probleme, je lui serait bien reconnaissant !
    Merci
    CC.

  2. #2
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 338
    Points : 383
    Points
    383
    Par défaut
    bonsoir

    essayer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      decimalseparator := '.';
      application.UpdateFormatSettings := false;
    pour empécher toute modif

    j'ai déjà vu ça quelque part dans le forum

    à+

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Ok, si cela peut suffire, ca serait carrément canon !
    Ce qui veut dire que je faisais ca au debut de mon appli,
    Decimalseparator:='.'; et qu'une autre appli ou windows resete cette variable sur autre chose a sa convenance ?
    En mettant cette ligne,
    application.UpdateFormatSettings
    mon appli ignore les changements faits par wondows ou
    d'autres applis ?
    Ai je bien compris ?

    Merci !

  4. #4
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 669
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 669
    Points : 7 016
    Points
    7 016
    Par défaut
    Citation Envoyé par banban54 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      application.UpdateFormatSettings := false;
    pour empécher toute modif
    Très intéressant, ça !!


    Ca mériterait d'être dans la faq.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)

  5. #5
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 338
    Points : 383
    Points
    383
    Par défaut
    bonjour

    en fait ce n'est pas sur le forum que j'avais vu ça, mais tout simplement dans l'aide (D6)
    property UpdateFormatSettings: Boolean;

    Description

    Utilisez UpdateFormatSettings pour contrôler l'actualisation automatique des paramètres de format. La valeur par défaut, True, est définie dans le constructeur. La valeur de la propriété UpdateFormatSettings est testée quand l'application reçoit un message WM_WININICHANGE.

    L'utilisation des paramètres de format par défaut est recommandée. Ces paramètres sont initialisés par les paramètres régionaux de Windows. Cependant, pour empêcher le changement de ces paramètres durant l'exécution de l'application qui modifie les paramètres de format d'une application Delphi, UpdateFormatSettings peut être définie à False.
    à plus

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/02/2015, 09h27
  2. Réponses: 6
    Dernier message: 17/07/2008, 18h10
  3. Réponses: 1
    Dernier message: 01/05/2008, 11h31
  4. probléme avec une date/string dans un CommandText
    Par critok dans le forum Bases de données
    Réponses: 5
    Dernier message: 09/02/2005, 15h30
  5. problème avec masque de saisie dans table
    Par porki dans le forum Access
    Réponses: 6
    Dernier message: 13/10/2004, 08h58

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