Paramètres régionaux [Résolu]

Messages postés
97
Date d'inscription
vendredi 19 octobre 2007
Dernière intervention
18 décembre 2013
-
Bonjour,

Je sais que la question a été posé plusieurs fois mais je me permets de le reposer car je n'ai pas trouvé réponse.
Je développe sous Delphi XE3 / Win Seven.

A l'ouverture du logiciel, on initialise les paramètres régionaux de cette manière :

FormatSettings.DecimalSeparator := ',';
FormatSettings.ThousandSeparator := ' '; //Espace

FormatSettings.DateSeparator := '/';
FormatSettings.ShortDateFormat := 'dd/mm/yyyy';

Pendant que le logiciel est ouvert, on a aucun soucis de lecture, d'écriture, d'affichage, de conversion de montant et de date.

Or, on a certains clients qui ont des logiciels qui modifie les paramètres régionaux (remplace DecimalSeparator par un '.'). Du coup, dans le logiciel qui est toujours ouvert, on a des erreurs de conversion comme par exemple la fonction StrToCurr('100,50') si DecimalSeparator vaut '.'
Message d'erreur : '100.50' n'est pas une valeur en virgule flottante correcte.

Il y a t-il moyen de forcer nos paramètres régionaux et de s'y tenir tant que le logiciel n'est pas fermé même si entre-temps d'autres logiciels modifient ces valeurs ?

Cordialement.
Afficher la suite 

Votre réponse

3 réponses

Messages postés
692
Date d'inscription
jeudi 17 avril 2008
Dernière intervention
14 septembre 2018
0
Merci
Salut
avec un timer peut être
Commenter la réponse de dubois77
Messages postés
97
Date d'inscription
vendredi 19 octobre 2007
Dernière intervention
18 décembre 2013
0
Merci
Bonjour dubois77,

Merci de me venir en aide.

Alors avec un Timer ??
Ce que tu veux dire, c'est que tout les x secondes (ou minutes), on réinitialise les paramètres régionaux ?

FormatSettings.DecimalSeparator := ',';
FormatSettings.ThousandSeparator := ' '; //Espace

FormatSettings.DateSeparator := '/';
FormatSettings.ShortDateFormat := 'dd/mm/yyyy';

Pourquoi pas, à voir.

Merci.
Commenter la réponse de grandyaka54
Messages postés
97
Date d'inscription
vendredi 19 octobre 2007
Dernière intervention
18 décembre 2013
0
Merci
Salut,

Je me suis replongé dans mon problème concernant les paramètres régionaux et j'ai trouvé en cherchant de nouveau, une propriété assez intéressante :
Application.UpdateFormatSettings

Touche F1 :
Spécifie si les paramètres de format sont actualisés automatiquement quand l'utilisateur (ou une application dans mon cas) modifie la configuration du système.
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.

Cordialement.
Commenter la réponse de grandyaka54

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.