Bonjour à tous,
je voudrais savoir s'il y a un moyen pour modifier définitivement les paramètres régionaux de windows. j'ai bien essayer "decimal séparator" ça ne marche pas.
Bonjour à tous,
je voudrais savoir s'il y a un moyen pour modifier définitivement les paramètres régionaux de windows. j'ai bien essayer "decimal séparator" ça ne marche pas.
merci pour ta réponse.
j'ai testé la commande mais il donne rien ou peut être je l'ai mal compris.
mais ce que je cherche vraiment c'est des fonctions ou une procédure delphi qui permet de modifier les paramètres regionnaux de n'importe quelle version de windows.
dans une de mes appli...
le touche F1 sur ces mots clefs dans delphi pourra te donner normalement des compléments d'info dans Variables de formatage monétaire et date/heure et System Formats Number settings
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 // Que l'on soit en mode Anglais(US) ou Français le format // des dates et du séparateur décimal seront conservés. DecimalSeparator := ','; // 2012/11/30 ShortDateFormat := 'dd/mm/yy'; // 2012/11/30
j'ai déjà essayer
'decimalseparator' ça marche pas
ce que je cherche c'est la modification directe dans le panneau de configuration
cela fonctionne parfaitement à l'intérieur d'un programme
exemple simple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 procedure TForm1.Button2Click(Sender: TObject); var oDsep : char; begin showmessage(format('%3.2f avec le séparateur par défaut %s',[250.23,floattostr(35.2)])); odsep:=decimalseparator; decimalseparator:='.'; showmessage(format('%3.2f avec le . %s',[250.23,floattostr(35.20)])); decimalseparator:=odsep; end;
Pour modifier les paramètres régionaux de Windows:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Sauf si ton application est un utilitaire destiné à remplacer le panneau de configuration, c'est à ton application de s'adapter aux paramètres régionaux.
d'accord , mais la question était "trouble" et à la solution de F@bien.fd
je répondais au "ça marche pas" et j'ai bien indiquéà l'intérieur d'un programme
parfaitementCa ne modifie le paramètre régional que dans le programme (DecimalSeparator est juste une variable globale).
si on modifie decimalseparator='.' ça influe pas du tout sur la saisie des currency, il ya même une exception qui déclenchée si on saisie avec '.' exeple:
'1425.45'
pour le lien donné par linkin je croit c'est un code C++, et il est pas vraiment explicite (quelle fonction utilisée et dans quelle unité il se trouve![]()
Et avec quels droits et privilèges cette application va-t-elle être lancée
Sinon, obliger l'utilisateur à modifier ses réglages (voire le faire sans rien lui dire) est plus que discutable. C'est à l'application de s'adapter.
je l'ai déjà fait ça marche pas sur les "currency"DecimalSeparator := '.';
Et vous ne pensez pas que cela peut être du à l'endroit où vous mettez cette instruction ?
Dire "ça marche pas" sans donner de contexte c'est un peu court !
le code que j'ai fourni dans ce sujet fonctionne parfaitement (il vous suffit de le tester) . Pour avoir fait des applications multilingues ou sur devant tourné sur des postes de différentes configurations , j'ai toujours utilisé cette technique en ne changeant surtout pas la configuration du poste
je suis en plein accord avec cette maxime . Un "américain des Etats Unis" préférera lire une date MM/DD/YY contrairement a un francophone et beaucoup d'autres américains (du sud) qui préférera un DD/MM/YY c'est bien au programme de s'adapter . Je parle de dates ici car j'ai eu un petit soucis avec ces dernières récemmentEnvoyé par ANDNOTOR
un oubli de traduction
vite corrigé
Je n'ai pas en tête de problème avec des TEdit ou TDBEdit (par acquit de conscience je vais quand même vérifier avec un petit programme D7)
Pour l'appli qui m'a fait consulter le forum pour solutionner un écart entre deux dates il y a qq jours, j'utilise pour les montants un TCurrencyEdit et c'est de cette façon que j'ai résolu le problème grâce à l'époque à un membre du forum Delphi.
Mais je ne suis qu'un amateur et pas un pro, donc je n’affirme rien.![]()
mais le probleme c'est que moi je saisie dans un DBGRID
Réfléchissez , une dbgrid est crée quand ? et donc quand faut-il déclaré le decimalseparator ?Envoyé par sergiomaster le 09/11/2013
voici où je l'ai placé pour l'unité test que j'avais faite pour un autre sujet du forum
cependant il est très malvenu de changer les habitudes d'un utilisateur ,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 program testhackProject1; uses Forms,SysUtils, testhackunit in 'testhackunit.pas' {Form1}; {$R *.res} begin Application.Initialize; DecimalSeparator:='.'; Application.CreateForm(TForm1, Form1); Application.Run; end.
une personne qui à l'habitude d'utiliser un point décimal aura toujours tendance à lire 3,256 comme trois mille deux cent cinquante six et non trois point deux cent cinquante six (cette réaction est normale et quand il s'git de dates c'est encore plus frappant)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager