Home
Home

--- Soumis par Dev Ashish---

Repérer l'information régionale.

(Q)    Comment obtenir l'information régionale, tel que le nom du pays, emmagasiné dans le Registre?

(A)    Utiliser la fonction fLocaleInfo. Lui fournir, comme argument, la constante qui correspond à l'information désirée.

'************* Code Start ************
Public Const LOCALE_ILANGUAGE = &H1         '  langue  (id)
Public Const LOCALE_SLANGUAGE = &H2         '  langue (localement écrite)
Public Const LOCALE_SENGLANGUAGE = &H1001   '  langue (en anglais)
Public Const LOCALE_SABBREVLANGNAME = &H3   '  langue (nom abbrégé)
Public Const LOCALE_SNATIVELANGNAME = &H4   '  langue (nom natif)
Public Const LOCALE_ICOUNTRY = &H5          '  code du pays
Public Const LOCALE_SCOUNTRY = &H6          '  nom local du pays
Public Const LOCALE_SENGCOUNTRY = &H1002    '  nom anglais du pays
Public Const LOCALE_SABBREVCTRYNAME = &H7   '  nom abbrégé du pays
Public Const LOCALE_SNATIVECTRYNAME = &H8   '  nom natif du pays
Public Const LOCALE_IDEFAULTLANGUAGE = &H9  '  langue par défaut (id)
Public Const LOCALE_IDEFAULTCOUNTRY = &HA   '  code par défaut du pays
Public Const LOCALE_IDEFAULTCODEPAGE = &HB  '  page de code par défaut
Public Const LOCALE_SLIST = &HC             '  séparateur de liste
Public Const LOCALE_IMEASURE = &HD          '  0 = metric, 1 = US
Public Const LOCALE_SDECIMAL = &HE          '  séparateur décimal
Public Const LOCALE_STHOUSAND = &HF         '  séparateur de milliers
Public Const LOCALE_SGROUPING = &H10        '  regroupement de chiffres
Public Const LOCALE_IDIGITS = &H11          '  nombre de décimales après le point
Public Const LOCALE_ILZERO = &H12           '  zéro de tête pour les décimales
Public Const LOCALE_SNATIVEDIGITS = &H13    '   ascii 0-9 natifs
Public Const LOCALE_SCURRENCY = &H14        '  symbole monétaire local
Public Const LOCALE_SINTLSYMBOL = &H15      '  symbole monétaire international
Public Const LOCALE_SMONDECIMALSEP = &H16   '  séparateur décimal monétaire
Public Const LOCALE_SMONTHOUSANDSEP = &H17  '  séparateur monétaire de milliers
Public Const LOCALE_SMONGROUPING = &H18     '  groupement de chiffres monétaires
Public Const LOCALE_ICURRDIGITS = &H19      '  nombre de décimales locales monétaires
Public Const LOCALE_IINTLCURRDIGITS = &H1A  '  nombre de décimales int. monétaires
Public Const LOCALE_ICURRENCY = &H1B        '  mode pour nombres monétaires positifs
Public Const LOCALE_INEGCURR = &H1C         '  mode pour nombre monétaires négatifs
Public Const LOCALE_SDATE = &H1D            '  séparateur de date
Public Const LOCALE_STIME = &H1E            '  séparateur de temps
Public Const LOCALE_SSHORTDATE = &H1F       '  format bref, pour les dates
Public Const LOCALE_SLONGDATE = &H20        ' format long, pour les dates
Public Const LOCALE_STIMEFORMAT = &H1003    '  format pour le temps
Public Const LOCALE_IDATE = &H21            '  ordonnancement pour date brève
Public Const LOCALE_ILDATE = &H22           '  ordonnancement pour date longue
Public Const LOCALE_ITIME = &H23            '  spécification pour le temps
Public Const LOCALE_ICENTURY = &H24         '  spécification pour le siècle
Public Const LOCALE_ITLZERO = &H25          '  zéro de gauche pour un temps
Public Const LOCALE_IDAYLZERO = &H26        '  zéro de gauche pour une date
Public Const LOCALE_IMONLZERO = &H27        '  zéro de gauche pour un mois
Public Const LOCALE_S1159 = &H28            '  désignation avant-midi pour système 12h
Public Const LOCALE_S2359 = &H29            '  désigantion après-midi pour système 12h
Public Const LOCALE_SDAYNAME1 = &H2A        '  Lundi, au long (selon la langue)
Public Const LOCALE_SDAYNAME2 = &H2B        '  Mardi, au long
Public Const LOCALE_SDAYNAME3 = &H2C        '  Mercredi, au long
Public Const LOCALE_SDAYNAME4 = &H2D        '  Jeudi, au long
Public Const LOCALE_SDAYNAME5 = &H2E        '  Vendredi, au long
Public Const LOCALE_SDAYNAME6 = &H2F        '  Samedi, au long
Public Const LOCALE_SDAYNAME7 = &H30        '  Dimanche, au long
Public Const LOCALE_SABBREVDAYNAME1 = &H31  '  Lundi, abbrégé (selon la langue)
Public Const LOCALE_SABBREVDAYNAME2 = &H32  ' Mardi, abbrégé
Public Const LOCALE_SABBREVDAYNAME3 = &H33  '  Mercredi, abbrégé
Public Const LOCALE_SABBREVDAYNAME4 = &H34  '  Jeudi, abbrégé
Public Const LOCALE_SABBREVDAYNAME5 = &H35  '  Vendredi, abbrégé
Public Const LOCALE_SABBREVDAYNAME6 = &H36  '  Samedi, abbrégé
Public Const LOCALE_SABBREVDAYNAME7 = &H37  '  Dimanche, abbrégé
Public Const LOCALE_SMONTHNAME1 = &H38      '  Janvier, au long (selon la langue)
Public Const LOCALE_SMONTHNAME2 = &H39      '  Février
Public Const LOCALE_SMONTHNAME3 = &H3A      '  Mars
Public Const LOCALE_SMONTHNAME4 = &H3B      '  Avril
Public Const LOCALE_SMONTHNAME5 = &H3C      '  Mai
Public Const LOCALE_SMONTHNAME6 = &H3D      '  Juin
Public Const LOCALE_SMONTHNAME7 = &H3E      '  Juillet
Public Const LOCALE_SMONTHNAME8 = &H3F      '  Août
Public Const LOCALE_SMONTHNAME9 = &H40      '  Septembre
Public Const LOCALE_SMONTHNAME10 = &H41     '  Octobre
Public Const LOCALE_SMONTHNAME11 = &H42     '  Novembre
Public Const LOCALE_SMONTHNAME12 = &H43     '  Décembre
Public Const LOCALE_SABBREVMONTHNAME1 = &H44 '  Janvier, abbrégé (selon la langue)
Public Const LOCALE_SABBREVMONTHNAME2 = &H45 '  Février, abbrégé
Public Const LOCALE_SABBREVMONTHNAME3 = &H46 '  Mars, abbrégé
Public Const LOCALE_SABBREVMONTHNAME4 = &H47 '  Avril, abbrégé
Public Const LOCALE_SABBREVMONTHNAME5 = &H48 '  Mai, abbrégé
Public Const LOCALE_SABBREVMONTHNAME6 = &H49 '  Juin, abbrégé
Public Const LOCALE_SABBREVMONTHNAME7 = &H4A '  Juillet, abbrégé
Public Const LOCALE_SABBREVMONTHNAME8 = &H4B '  Août, abbrégé
Public Const LOCALE_SABBREVMONTHNAME9 = &H4C '  Septembre, abbrégé
Public Const LOCALE_SABBREVMONTHNAME10 = &H4D '  Octobre, abbrégé
Public Const LOCALE_SABBREVMONTHNAME11 = &H4E '  Novembre, abbrégé
Public Const LOCALE_SABBREVMONTHNAME12 = &H4F '  Décembre, abbréré
Public Const LOCALE_SABBREVMONTHNAME13 = &H100F

Public Const LOCALE_SYSTEM_DEFAULT& = &H800
Public Const LOCALE_USER_DEFAULT& = &H400

Const cMAXLEN = 255

Private Declare Function apiGetLocaleInfo Lib "kernel32" _
    Alias "GetLocaleInfoA" (ByVal Locale As Long, _
    ByVal LCType As Long, ByVal lpLCData As String, _
    ByVal cchData As Long) As Long


Function fLocaleInfo(lngLCType As Long) As String
Dim lngLocale As Long
Dim strLCData As String, lngData As Long
Dim lngX As Long

    strLCData = String$(cMAXLEN, 0)
    lngData = cMAXLEN - 1
    lngX = apiGetLocaleInfo(LOCALE_USER_DEFAULT, lngLCType, _
                    strLCData, lngData)
    If lngX <> 0 Then
        fLocaleInfo = Left$(strLCData, lngX - 1)
    End If
End Function
'************* Code End ************