FMatrix07
Messages postés233Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention21 février 2009
-
7 janv. 2006 à 09:42
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDerniè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
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 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". )
FMatrix07
Messages postés233Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention21 février 20092 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
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 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". )
FMatrix07
Messages postés233Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention21 février 20092 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.
Vous n’avez pas trouvé la réponse que vous recherchez ?