Re: Parametres regionaux du format de la date

FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 - 7 janv. 2006 à 09:42
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 - 10 janv. 2006 à 03:04
Suite à mon message:
Slt,
Quelqu'un sais comment changer les Parametres regionaux du format de la date courte grace à VB
car j'ai certaine appli que ne fonctionne pas malgré avoir fais un format(date,"dd/MM/yy")
Donc je souhaite le faire en dur au demarrage de mon appli
Merci de votre aide
J'ai trouvé ça, quelqu'un peu l'essayer sur differnent OS francais et Anglais
Testé sous XP Sp1 OK
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal locale As Long, _
ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Private Declare Function GetUserDefaultLCID Lib "kernel32" () As Long
Private Sub Command1_Click()
'Recherche valeur de la date courte
Set WshShell = CreateObject("Wscript.Shell")
MyFormDate = WshShell.Regread("HKEY_CURRENT_USER\Control Panel\International\sShortDate")
'Vérifier si la date courte est du format "dd/MM/yy" et la change dans la base de registre
If MyFormDate <> "dd/MM/yy" Then
Set WshShell = CreateObject("Wscript.Shell")
WshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\International\sShortDate", "dd/MM/yy"
End If

'Renvoi le format de la date de l'utilisateur local
Dim lngResultat As Long
Dim buffer As String
Dim locale As Long
'récupère l'identifiant de l'information locale de type utilisateur
locale = GetUserDefaultLCID()
'renvoie le nombre de caractères nécessaire pour recevoir la valeur de la date courte demandé
lngResultat = GetLocaleInfo(locale, 33, buffer, 0)
buffer = String(lngResultat, 0)
GetLocaleInfo locale, 33, buffer, lngResultat
pos = InStr(buffer, Chr(0))
If pos > 0 Then TypeDate = Left(buffer, pos - 1)If TypeDate 0 Then TypeDate "M-J-A"If TypeDate 1 Then TypeDate "J-M-A"If TypeDate 2 Then TypeDate "A-M-J"
End Sub

5 réponses

ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
8 janv. 2006 à 15:17
Déjà, on ne sais même pas sous quelle version de VB tu codes, et ensuite, si tu te donnais la peinne de faire une petite recherche sur VBFrance tu trouverais tout de suite!

Enjoy


( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
9 janv. 2006 à 06:13
Merci pour ta réponse ScSami mais si j'ai posé la question dans le forum c'est que je n'ai rien trouvé qui me convient comme réponse.
Il est vrai je n'ai précis sous quelle version est mon code mille pardon
pour info c'est VB6 sp5
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
9 janv. 2006 à 16:16
Enfin, note qu'on ne doit JAMAIS modifier les paramètres régionaux !!! Il faut laisser à l'utilisateur ses paramètres. Et n'oubli pas que ton programme ne sera pas le seul à utiliser l'ordinateur (en même temps) !!!

Tu te dois de détecter ces paramètres (y'a beaucoup de techniques différentes... cf. forum) et adapter ton conde en conséquence, mais tu ne dois jamais les modifier !!!

Enjoy


( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
9 janv. 2006 à 19:46
Je suis d'accord avec toi mais dons mon programme complet je lis la valeur en entrant dans le programme puis au moment de la sortie je remets les anciens parametres.
Je n'ai mis qu'un bout de code pour expliquer comment faire c'est tout.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
10 janv. 2006 à 03:04
Bon, d'accord, mais imagine qu'un autre programme, entre temps (entre l'ouverture et la fermeture), ai besoin de l'info (l'originale) !!!

D'où le fameux "jamais" précédent !

Enjoy


( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
Rejoignez-nous