Paramètres régionaux
Lecture des Paramètres Régionaux
Commencez par faire les déclarations nécessaires dans un module standard
'/
'/ A placer dans la partie déclarative
'/
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" ()
' Ci-dessous les différentes constantes
Const LOCALE_SDECIMAL = &HE
Const LOCALE_SCURRENCY = &H14
Const LOCALE_SINTLSYMBOL = &H15
Const LOCALE_SCOUNTRY = &H6
Const LOCALE_SENGCOUNTRY = &H1002
Const LOCALE_SNATIVELANGNAME = &H4
Const LOCALE_SABBREVLANGNAME = &H3
Const LOCALE_SSHORTDATE = &H1F
Const LOCALE_SLONGDATE = &H20
Const LOCALE_IDEFAULTCODEPAGE = &HB
Vous complétez ensuite par les fonctions désirées :
Symbole Décimal
Function SymbolDecimal() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(Locale, LOCALE_SDECIMAL, lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDECIMAL, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
SymbolDecimal = Symbol
End If
End Function
Symbole Monétaire Régional
Public Function SymboleMonetaireRegional() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(Locale, LOCALE_SCURRENCY, lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SCURRENCY, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
SymboleMonetaireRegional = Symbol
End If
End Function
Symbole Monétaire ISO
Public Function SymboleMonetaireISO() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(Locale, LOCALE_SINTLSYMBOL, lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SINTLSYMBOL, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
SymboleMonetaireISO = Symbol
End If
End Function
Nom du Pays
Public Function NomDuPays() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(Locale, LOCALE_SCOUNTRY, lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SCOUNTRY, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
NomDuPays = Symbol
End If
End Function
Nom du Pays en Anglais
Public Function NomDuPaysEnAnglais() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(Locale, LOCALE_SENGCOUNTRY, lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SENGCOUNTRY, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
NomDuPaysEnAnglais = Symbol
End If
End Function
Langue en cours
Public Function LangueEnCours() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(Locale, LOCALE_SNATIVELANGNAME, lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SNATIVELANGNAME, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
LangueEnCours = Symbol
End If
End Function
Langue Abrégée
Public Function LangueAbregee() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(Locale, LOCALE_SABBREVLANGNAME, lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SABBREVLANGNAME, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
LangueAbregee = Symbol
End If
End Function
Format Date Court
Public Function FormatDateCourt() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(Locale, LOCALE_SSHORTDATE, lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SSHORTDATE, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
FormatDateCourt = Symbol
End If
End Function
Format Date Long
Public Function FormatDateLong() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(Locale, LOCALE_SLONGDATE, lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SLONGDATE, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
FormatDateLong = Symbol
End If
End Function
Code Page
Public Function CodePage() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(Locale, LOCALE_IDEFAULTCODEPAGE, lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_IDEFAULTCODEPAGE, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
CodePage = Symbol
End If
End Function
La liste des constantes paramètres régionaux
(pour créer de nouvelles fonctions sur le même modèle ...)
Const LOCALE_SCURRENCY = &H14 ' local monetary symbol Const LOCALE_SINTLSYMBOL = &H15 ' intl monetary symbol Const LOCALE_ILANGUAGE = &H1 ' language id Const LOCALE_SLANGUAGE = &H2 ' localized name of language Const LOCALE_SENGLANGUAGE = &H1001 ' English name of language Const LOCALE_SABBREVLANGNAME = &H3 ' abbreviated language name Const LOCALE_SNATIVELANGNAME = &H4 ' native name of language Const LOCALE_ICOUNTRY = &H5 ' country code Const LOCALE_SCOUNTRY = &H6 ' localized name of country Const LOCALE_SENGCOUNTRY = &H1002 ' English name of country Const LOCALE_SABBREVCTRYNAME = &H7 ' abbreviated country name Const LOCALE_SNATIVECTRYNAME = &H8 ' native name of country Const LOCALE_IDEFAULTLANGUAGE = &H9 ' default language id Const LOCALE_IDEFAULTCOUNTRY = &HA ' default country code Const LOCALE_IDEFAULTCODEPAGE = &HB ' default code page Const LOCALE_SMONDECIMALSEP = &H16 ' monetary decimal separator Const LOCALE_SMONTHOUSANDSEP = &H17 ' monetary thousand separator Const LOCALE_SMONGROUPING = &H18 ' monetary grouping Const LOCALE_ICURRDIGITS = &H19 ' # local monetary digits Const LOCALE_IINTLCURRDIGITS = &H1A ' # intl monetary digits Const LOCALE_ICURRENCY = &H1B ' positive currency mode Const LOCALE_INEGCURR = &H1C ' negative currency mode Const LOCALE_SDECIMAL = &HE ' number decimal separator Const LOCALE_SDATE = &H1D ' date separator Const LOCALE_STIME = &H1E ' time separator Const LOCALE_SSHORTDATE = &H1F ' short date format string Const LOCALE_SLONGDATE = &H20 ' long date format string Const LOCALE_STIMEFORMAT = &H1003 ' time format string Const LOCALE_IDATE = &H21 ' short date format ordering Const LOCALE_ILDATE = &H22 ' long date format ordering Const LOCALE_ITIME = &H23 ' ime format specifier Const LOCALE_ICENTURY = &H24 ' century format specifier Const LOCALE_ITLZERO = &H25 ' leading zeros in time field Const LOCALE_IDAYLZERO = &H26 ' leading zeros in day field Const LOCALE_IMONLZERO = &H27 ' leading zeros in month field Const LOCALE_S1159 = &H28 ' AM designator Const LOCALE_S2359 = &H29 ' PM designator
Dernière modification : 08/02/2010 01:53
Catégorie : - Administration
Page lue 9948 fois