OVH Cloud OVH Cloud

Changer format régional a partir de VB

3 réponses
Avatar
Papou
Bonsoir.

J'ai écrit un petit programme avec VB 4. Le programme ne fonctionne pas si
entre autres le format de la date n'est pas sous la formme jour, mois,
année., de même le séparateur de chiffres doit être un point et non une
virgule( 100.00). Alors comment faire pour qu'a l'ouverture du programme le
bon format date etc. soit appliqué? Oui je sais on peut le faire à partir du
clavier en allant à la section option régional, mais je voudrais le programme
le fasse automatiquement. Plusieurs utilisateurs ne savent pas comment faire
les changements je voudrais leur faciliter la vie.

Merci de votre aide

3 réponses

Avatar
Stéphane [MS]
Bonjour,

D'une part, de manière générale, il est plutôt souhaitable de s'adapter aux
réglages choisis par les utilisateurs que de forcer un réglage précis, mais
je ne sais pas si VB4 en était capable. Imaginez, simplement, un instant que
le même utilisateur doivent utiliser deux programmes ayant chacun leur
réglage spécifique.

Les conseils sur le développement d'applications capables de fonctionner
avec différents réglages liés aux langues sont en anglais sur :
http://www.microsoft.com/globaldev/default.mspx

D'autre part, il est possible de changer automatiquement les paramètres
régionaux en utilisant des lignes de commande telle que :
====================================
REG ADD "HKCUControl PanelInternational" /v sDecimal /t REG_SZ /d "," /f

REG ADD "HKCUControl PanelInternational" /v sShortDate /t REG_SZ /d
"dd/MM/yyyy" /f

====================================


La commande REG est présente en standard sous Windows XP. Si vos postes sont
plus anciens, il faut parvenir soit à rajouter la commande qui était dans
les kits de ressources techniques, soit à éditer la base de registre par
d'autres utilitaires.



Cdlt
Stéphane
http://blogs.msdn.com/spapp/default.aspx


"Papou" a écrit dans le message de news:

Bonsoir.

J'ai écrit un petit programme avec VB 4. Le programme ne fonctionne pas si
entre autres le format de la date n'est pas sous la formme jour, mois,
année., de même le séparateur de chiffres doit être un point et non une
virgule( 100.00). Alors comment faire pour qu'a l'ouverture du programme
le
bon format date etc. soit appliqué? Oui je sais on peut le faire à partir
du
clavier en allant à la section option régional, mais je voudrais le
programme
le fasse automatiquement. Plusieurs utilisateurs ne savent pas comment
faire
les changements je voudrais leur faciliter la vie.

Merci de votre aide




Avatar
Papou
Merci pour l'aide. Je vais essayer de débrouiller avec ça. Vous avez raison à
savoir que il est souhaitable de s'adapter.. mais comment faire quand on a
plusieurs types de configuration sinon en les forçants? De plus mon intention
était de copier la configuration à l'ouverture, et la remettre à la
fermeture. Je sais c'est loin d'être idéal, mais a défaut de pains faut
savoir se contenter de galettes.

encore merci

Papou

"Stéphane [MS]" a écrit :

Bonjour,

D'une part, de manière générale, il est plutôt souhaitable de s'adapter aux
réglages choisis par les utilisateurs que de forcer un réglage précis, mais
je ne sais pas si VB4 en était capable. Imaginez, simplement, un instant que
le même utilisateur doivent utiliser deux programmes ayant chacun leur
réglage spécifique.

Les conseils sur le développement d'applications capables de fonctionner
avec différents réglages liés aux langues sont en anglais sur :
http://www.microsoft.com/globaldev/default.mspx

D'autre part, il est possible de changer automatiquement les paramètres
régionaux en utilisant des lignes de commande telle que :
==================================== >
REG ADD "HKCUControl PanelInternational" /v sDecimal /t REG_SZ /d "," /f

REG ADD "HKCUControl PanelInternational" /v sShortDate /t REG_SZ /d
"dd/MM/yyyy" /f

==================================== >


La commande REG est présente en standard sous Windows XP. Si vos postes sont
plus anciens, il faut parvenir soit à rajouter la commande qui était dans
les kits de ressources techniques, soit à éditer la base de registre par
d'autres utilitaires.



Cdlt
Stéphane
http://blogs.msdn.com/spapp/default.aspx


"Papou" a écrit dans le message de news:

> Bonsoir.
>
> J'ai écrit un petit programme avec VB 4. Le programme ne fonctionne pas si
> entre autres le format de la date n'est pas sous la formme jour, mois,
> année., de même le séparateur de chiffres doit être un point et non une
> virgule( 100.00). Alors comment faire pour qu'a l'ouverture du programme
> le
> bon format date etc. soit appliqué? Oui je sais on peut le faire à partir
> du
> clavier en allant à la section option régional, mais je voudrais le
> programme
> le fasse automatiquement. Plusieurs utilisateurs ne savent pas comment
> faire
> les changements je voudrais leur faciliter la vie.
>
> Merci de votre aide
>
>





Avatar
jean-marc
"Papou" a écrit dans le message de
news:
Merci pour l'aide. Je vais essayer de débrouiller avec ça. Vous avez


raison à
savoir que il est souhaitable de s'adapter.. mais comment faire quand


on a
plusieurs types de configuration sinon en les forçants? De plus mon


intention
était de copier la configuration à l'ouverture, et la remettre à la
fermeture. Je sais c'est loin d'être idéal, mais a défaut de pains


faut
savoir se contenter de galettes.



Hello,
le principe est de travailler dans un format connu.
Exemple avec les dates:
Voici ce que me retourne ma machine quand je fais:
debug.print Date$
06-11-2006
Supposons que mon programme attende la date sous la forme:
"Jour Mois Année", collé, tout sur 2 et année sur 4.

Jécrirais alors quelque chose comme cela:

Dim myDate as String

myDate = Format$(date$,"ddmmyyyy")

J'ai la garantie que quelle que soir les options régionales de
la machine, ma variable myDate contiendra "11062006".

Ceci est la bonne façon de faire, car comme le fait judicieusement
remarquer Stephane, changer les settings régionales d'une machine
n'est pas acceptable pour plein de raisons.

De même il est facile de déterminer en quelques tests quel est le
séparateur décimal. Il ne reste qu'à appliquer une conversion si
nécessaire. Une autre approche est de faire un conversion
systématique.

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;