Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RÉCUPÉRER DES INFORMATIONS LOCALES ET SYSTEME (LANGUE, RÉGION, SÉPARATEUR DÉCIMAL, SÉPARATEUR LISTE, ...)


Information sur la source

Catégorie :API Source .NET ( DotNet ) Classé sous : api, langage, système, region, métrique Niveau : Initié Date de création : 29/04/2006 Date de mise à jour : 04/05/2006 20:46:31 Vu : 8 780

Note :
Aucune note

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

Description

Voici une petite methode qui permet la récupération d'un tas d'infos sur la langue, la région, etc du système.

PS : Pour une bonne utilisation, un passage par la MSDN est tout de même recommandé...
 

Source

  • NameSpace LocaleInfo
  • Public Module _MyLocaleInformationsFunctions
  • ' Déclaration de fonction externe, dans une API de Windows.
  • Private Declare Function GetLocaleInfoA Lib "kernel32" Alias "GetLocaleInfoA" (ByVal intLocale As Integer, ByVal intType As Integer, ByVal strRetour As String, ByVal intLongueurRetour As Integer) As Integer
  • ''' <summary>
  • ''' Retourne une information locale (255 Caractères)
  • ''' </summary>
  • ''' <param name="Flag">Nom du paramètre</param>
  • Public Function GetLocaleInfo(ByVal Flag As GetLocaleInfoFlags) As String
  • Dim Result As String
  • Result = Space(255) 'Créer une chaîne de longueur 255
  • GetLocaleInfoA(0, Flag, Result, Len(Result))
  • Return Result
  • End Function
  • ''' <summary>
  • ''' Cette fonction renvoie True si Windows est français.
  • ''' </summary>
  • Public Function IsFrench() As Boolean
  • Dim Result As String
  • Result = Space(5) 'Créer une chaîne de longueur 5
  • GetLocaleInfoA(0, GetLocaleInfoFlags.LOCALE_ILANGUAGE, Result, Len(Result))
  • ' Si les caractères 3 et 4 de Retour valent "0c", Windows est français.
  • ' Les 2 premiers caractères indiquent la variante linguistique.
  • Result = Left(Result, 4)
  • Select Case Microsoft.VisualBasic.Strings.Right(Result, 2)
  • Case "0c"
  • Return True
  • Case Else
  • Return False
  • End Select
  • End Function
  • ''' <summary>
  • ''' Cette fonction renvoie True si Windows est anglais.
  • ''' </summary>
  • <Obsolete("Cette fonction n'a pas été testée !")> _
  • Public Function IsEnglish() As Boolean
  • Dim Result As String
  • Result = Space(5) 'Créer une chaîne de longueur 5
  • GetLocaleInfoA(0, GetLocaleInfoFlags.LOCALE_ILANGUAGE, Result, Len(Result))
  • ' Si les caractères 3 et 4 de Retour valent "0c", Windows est français.
  • ' Les 2 premiers caractères indiquent la variante linguistique.
  • Result = Left(Result, 4)
  • Select Case Microsoft.VisualBasic.Strings.Right(Result, 2)
  • Case "09"
  • Return True
  • Case Else
  • Return False
  • End Select
  • End Function
  • ''' <summary>
  • ''' Retourne la langue du systeme (Nom Complet En Anglais (US); ISO Standard 639) ("Unkown" si non trouvé)
  • ''' </summary>
  • Public Function GetLanguage() As String
  • On Error GoTo MyErr
  • Dim Result As String
  • Result = Space(255) 'Créer une chaîne de longueur 255
  • Dim length As Integer = GetLocaleInfoA(0, GetLocaleInfoFlags.LOCALE_SLANGUAGE, Result, Len(Result))
  • Return Left(Result, length - 1)
  • MyErr: Return "Unkown"
  • End Function
  • ''' <summary>
  • ''' Retourne le nom du language ayant pour ID LcID ("Unkown" si non trouvé)
  • ''' </summary>
  • ''' <param name="LcID">ID de la langue</param>
  • ''' <returns></returns>
  • ''' <remarks></remarks>
  • Function GetLanguageOfLcid(ByVal LcID As Long) As String
  • On Error GoTo MyErr
  • Dim Result As New String(vbNullChar(0), 255)
  • Dim length As Integer = GetLocaleInfoA(LcID, GetLocaleInfoFlags.LOCALE_SLANGUAGE, Result, Len(Result))
  • Return Left(Result, length - 1)
  • MyErr: Return "Unkown"
  • End Function
  • ''' <summary>
  • ''' Retourne le systeme métrique employé par le systeme. (-1 si non trouvé)
  • ''' </summary>
  • Public Function GetMeasureSystem() As MeasureSystem
  • On Error Resume Next
  • Return Int(Val(GetLocaleInfo(GetLocaleInfoFlags.LOCALE_IMEASURE)))
  • Return -1
  • End Function
  • End Module
  • ''' <summary>
  • ''' Enumération des système de mesure
  • ''' </summary>
  • ''' <remarks></remarks>
  • Public Enum MeasureSystem
  • ''' <summary>
  • ''' Indique que le systeme de mesure n'a pas su être récupéré
  • ''' </summary>
  • ''' <remarks></remarks>
  • Unkown = -1
  • ''' <summary>
  • ''' Systeme de mesure Anglais (Miles, ...)
  • ''' </summary>
  • IMEASURE_ENGLISH = 1
  • ''' <summary>
  • ''' Systeme de mesure Européen (Mètres, ...)
  • ''' </summary>
  • IMAESURE_METRIC = 0
  • End Enum
  • ''' <summary>
  • ''' Ensemble des flags utilisable pour la fonction GetLocaleInformation
  • ''' </summary>
  • Public Enum GetLocaleInfoFlags As Integer
  • ''' <summary>
  • ''' LANGID in hexadecimal digits
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_ILANGUAGE = 1
  • ''' <summary>
  • ''' Full localized name of the language
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SLANGUAGE = 2 '
  • ''' <summary>
  • ''' Full English U.S. name of the language ISO Standard 639
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SENGLANGUAGE = 4097 '
  • ''' <summary>
  • ''' Abbreviated name of the language, ISO Standard 639
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVLANGNAME = 3 '
  • ''' <summary>
  • ''' Native name of the language
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SNATIVELANGNAME = 4 '
  • ''' <summary>
  • ''' Country code, based on international phone codes
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_ICOUNTRY = 5 '
  • ''' <summary>
  • ''' The full localized name of the country.
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SCOUNTRY = 6 '
  • ''' <summary>
  • ''' The full English U.S. name of the country.
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SENGCOUNTRY = 4098 '
  • ''' <summary>
  • ''' Abbreviated name of the country ISO Standard 3166.
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVCTRYNAME = 7 '
  • ''' <summary>
  • ''' Native name of the country.
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SNATIVECTRYNAME = 8 '
  • ''' <summary>
  • ''' LANGID for the principal language spoken in this locale.
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_IDEFAULTLANGUAGE = 9 '
  • ''' <summary>
  • ''' Country code for the principal country in this locale.
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_IDEFAULTCOUNTRY = 10 '
  • ''' <summary>
  • ''' OEM code page associated with the country.
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_IDEFAULTCODEPAGE = 11 '
  • ''' <summary>
  • ''' Characters used to separate list items.
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SLIST = 12 '
  • ''' <summary>
  • ''' 0 for metric system (S.I.) and 1 for the U.S.
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_IMEASURE = 13 '
  • ''' <summary>
  • ''' decimal separator
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SDECIMAL = 14 '
  • ''' <summary>
  • ''' thousand separator
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_STHOUSAND = 15 '
  • ''' <summary>
  • ''' Sizes for each group of digits to the left of the decimal.
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SGROUPING = 16 '
  • ''' <summary>
  • ''' number of fractional digits
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_IDIGITS = 17 '
  • ''' <summary>
  • ''' 0 means use no leading zeros; 1 means use leading zeros.
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_ILZERO = 18 '
  • ''' <summary>
  • ''' Ten characters equivalent of the ASCII 0-9.
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SNATIVEDIGITS = 19 '
  • ''' <summary>
  • ''' local monetary symbol
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SCURRENCY = 20 '
  • ''' <summary>
  • ''' International monetary symbol ISO 4217.
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SINTLSYMBOL = 21 '
  • ''' <summary>
  • ''' monetary decimal separator
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONDECIMALSEP = 22 '
  • ''' <summary>
  • ''' monetary thousand separator
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONTHOUSANDSEP = 23 '
  • ''' <summary>
  • ''' monetary grouping
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONGROUPING = 24 '
  • ''' <summary>
  • ''' # local monetary digits
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_ICURRDIGITS = 25 '
  • ''' <summary>
  • ''' # intl monetary digits
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_IINTLCURRDIGITS = 26 '
  • ''' <summary>
  • ''' positive currency mode
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_ICURRENCY = 27 '
  • ''' <summary>
  • ''' negative currency mode
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_INEGCURR = 28 '
  • ''' <summary>
  • ''' date separator
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SDATE = 29 '
  • ''' <summary>
  • ''' time separator
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_STIME = 30 '
  • ''' <summary>
  • ''' short date format string
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SSHORTDATE = 31 '
  • ''' <summary>
  • ''' long date format string
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SLONGDATE = 32 '
  • ''' <summary>
  • ''' time format string
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_STIMEFORMAT = 4099 '
  • ''' <summary>
  • ''' short date format, 0 M–D–Y,1 D–M–Yr,2 Y–M–D
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_IDATE = 33 '
  • ''' <summary>
  • ''' long date format, 0 M–D–Y,1 D–M–Y,2 Y–M–D
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_ILDATE = 34 '
  • ''' <summary>
  • ''' time format, 0 AM/PM 12-hr format, 1 24-hr format
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_ITIME = 35 '
  • ''' <summary>
  • ''' Use full 4-digit century, 0 Two digit.1 Full century
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_ICENTURY = 36 '
  • ''' <summary>
  • ''' leading zeros in time field, 0 No , 1 yes
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_ITLZERO = 37 '
  • ''' <summary>
  • ''' leading zeros in day field, 0 No , 1 yes
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_IDAYLZERO = 38 '
  • ''' <summary>
  • ''' leading zeros in month field, 0 No , 1 yes
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_IMONLZERO = 39 '
  • ''' <summary>
  • ''' AM designator
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_S1159 = 40 '
  • ''' <summary>
  • ''' PM designator
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_S2359 = 41 '
  • ''' <summary>
  • ''' long name for Monday
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SDAYNAME1 = 42 '
  • ''' <summary>
  • ''' long name for Tuesday
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SDAYNAME2 = 43 '
  • ''' <summary>
  • ''' long name for Wednesday
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SDAYNAME3 = 44 '
  • ''' <summary>
  • ''' long name for Thursday
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SDAYNAME4 = 45 '
  • ''' <summary>
  • ''' long name for Friday
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SDAYNAME5 = 46 '
  • ''' <summary>
  • ''' long name for Saturday
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SDAYNAME6 = 47 '
  • ''' <summary>
  • ''' long name for Sunday
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SDAYNAME7 = 48 '
  • ''' <summary>
  • ''' abbreviated name for Monday
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVDAYNAME1 = 49 '
  • ''' <summary>
  • ''' abbreviated name for Tuesday
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVDAYNAME2 = 51 '
  • ''' <summary>
  • ''' abbreviated name for Wednesday
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVDAYNAME3 = 52 '
  • ''' <summary>
  • ''' abbreviated name for Thursday
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVDAYNAME4 = 53 '
  • ''' <summary>
  • ''' abbreviated name for Friday
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVDAYNAME5 = 54 '
  • ''' <summary>
  • ''' abbreviated name for Saturday
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVDAYNAME6 = 55 '
  • ''' <summary>
  • ''' abbreviated name for Sunday
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVDAYNAME7 = 56 '
  • ''' <summary>
  • ''' long name for January
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONTHNAME1 = 57 '
  • ''' <summary>
  • ''' long name for February
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONTHNAME2 = 58 '
  • ''' <summary>
  • ''' long name for March
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONTHNAME3 = 59 '
  • ''' <summary>
  • ''' long name for April
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONTHNAME4 = 60 '
  • ''' <summary>
  • ''' long name for May
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONTHNAME5 = 61 '
  • ''' <summary>
  • ''' long name for June
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONTHNAME6 = 62 '
  • ''' <summary>
  • ''' long name for July
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONTHNAME7 = 63 '
  • ''' <summary>
  • ''' long name for August
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONTHNAME8 = 64 '
  • ''' <summary>
  • ''' long name for September
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONTHNAME9 = 65 '
  • ''' <summary>
  • ''' long name for October
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONTHNAME10 = 66 '
  • ''' <summary>
  • ''' long name for November
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONTHNAME11 = 67 '
  • ''' <summary>
  • ''' long name for December
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SMONTHNAME12 = 68 '
  • ''' <summary>
  • ''' abbreviated name for January
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVMONTHNAME1 = 69 '
  • ''' <summary>
  • ''' abbreviated name for February
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVMONTHNAME2 = 70 '
  • ''' <summary>
  • ''' abbreviated name for March
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVMONTHNAME3 = 71 '
  • ''' <summary>
  • ''' abbreviated name for April
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVMONTHNAME4 = 72 '
  • ''' <summary>
  • ''' abbreviated name for May
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVMONTHNAME5 = 73 '
  • ''' <summary>
  • ''' abbreviated name for June
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVMONTHNAME6 = 74 '
  • ''' <summary>
  • ''' abbreviated name for July
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVMONTHNAME7 = 75 '
  • ''' <summary>
  • ''' abbreviated name for August
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVMONTHNAME8 = 76 '
  • ''' <summary>
  • ''' abbreviated name for September
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVMONTHNAME9 = 77 '
  • ''' <summary>
  • ''' abbreviated name for October
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVMONTHNAME10 = 78 '
  • ''' <summary>
  • ''' abbreviated name for November
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVMONTHNAME11 = 79 '
  • ''' <summary>
  • ''' abbreviated name for December
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVMONTHNAME12 = 80 '
  • ''' <summary>
  • ''' Native abbreviated name for 13th month, if it exists.
  • ''' </summary>
  • ''' <remarks></remarks>
  • LOCALE_SABBREVMONTHNAME13 = 4111 '
  • End Enum
  • End NameSpace
NameSpace LocaleInfo

Public Module _MyLocaleInformationsFunctions
    ' Déclaration de fonction externe, dans une API de Windows.
    Private Declare Function GetLocaleInfoA Lib "kernel32" Alias "GetLocaleInfoA" (ByVal intLocale As Integer, ByVal intType As Integer, ByVal strRetour As String, ByVal intLongueurRetour As Integer) As Integer

    ''' <summary>
    ''' Retourne une information locale (255 Caractères)
    ''' </summary>
    ''' <param name="Flag">Nom du paramètre</param>
    Public Function GetLocaleInfo(ByVal Flag As GetLocaleInfoFlags) As String
        Dim Result As String
        Result = Space(255) 'Créer une chaîne de longueur 255
        GetLocaleInfoA(0, Flag, Result, Len(Result))
        Return Result
    End Function

    ''' <summary>
    ''' Cette fonction renvoie True si Windows est français.
    ''' </summary>
    Public Function IsFrench() As Boolean
        Dim Result As String
        Result = Space(5) 'Créer une chaîne de longueur 5
        GetLocaleInfoA(0, GetLocaleInfoFlags.LOCALE_ILANGUAGE, Result, Len(Result))

        ' Si les caractères 3 et 4 de Retour valent "0c", Windows est français.
        ' Les 2 premiers caractères indiquent la variante linguistique.
        Result = Left(Result, 4)
        Select Case Microsoft.VisualBasic.Strings.Right(Result, 2)
            Case "0c"
                Return True
            Case Else
                Return False
        End Select
    End Function

    ''' <summary>
    ''' Cette fonction renvoie True si Windows est anglais.
    ''' </summary>
    <Obsolete("Cette fonction n'a pas été testée !")> _
    Public Function IsEnglish() As Boolean
        Dim Result As String
        Result = Space(5) 'Créer une chaîne de longueur 5
        GetLocaleInfoA(0, GetLocaleInfoFlags.LOCALE_ILANGUAGE, Result, Len(Result))

        ' Si les caractères 3 et 4 de Retour valent "0c", Windows est français.
        ' Les 2 premiers caractères indiquent la variante linguistique.
        Result = Left(Result, 4)
        Select Case Microsoft.VisualBasic.Strings.Right(Result, 2)
            Case "09"
                Return True
            Case Else
                Return False
        End Select
    End Function

    ''' <summary>
    ''' Retourne la langue du systeme (Nom Complet En Anglais (US); ISO Standard 639) ("Unkown" si non trouvé)
    ''' </summary>
    Public Function GetLanguage() As String
        On Error GoTo MyErr
        Dim Result As String
        Result = Space(255) 'Créer une chaîne de longueur 255
        Dim length As Integer = GetLocaleInfoA(0, GetLocaleInfoFlags.LOCALE_SLANGUAGE, Result, Len(Result))
        Return Left(Result, length - 1)
MyErr:  Return "Unkown"
    End Function

    ''' <summary>
    ''' Retourne le nom du language ayant pour ID LcID ("Unkown" si non trouvé)
    ''' </summary>
    ''' <param name="LcID">ID de la langue</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetLanguageOfLcid(ByVal LcID As Long) As String
        On Error GoTo MyErr
        Dim Result As New String(vbNullChar(0), 255)
        Dim length As Integer = GetLocaleInfoA(LcID, GetLocaleInfoFlags.LOCALE_SLANGUAGE, Result, Len(Result))
        Return Left(Result, length - 1)
MyErr:  Return "Unkown"
    End Function

    ''' <summary>
    ''' Retourne le systeme métrique employé par le systeme. (-1 si non trouvé)
    ''' </summary>
    Public Function GetMeasureSystem() As MeasureSystem
        On Error Resume Next
        Return Int(Val(GetLocaleInfo(GetLocaleInfoFlags.LOCALE_IMEASURE)))
        Return -1
    End Function
End Module

''' <summary>
''' Enumération des système de mesure
''' </summary>
''' <remarks></remarks>
Public Enum MeasureSystem
    ''' <summary>
    ''' Indique que le systeme de mesure n'a pas su être récupéré
    ''' </summary>
    ''' <remarks></remarks>
    Unkown = -1
    ''' <summary>
    ''' Systeme de mesure Anglais (Miles, ...)
    ''' </summary>
    IMEASURE_ENGLISH = 1
    ''' <summary>
    ''' Systeme de mesure Européen (Mètres, ...)
    ''' </summary>
    IMAESURE_METRIC = 0
End Enum

''' <summary>
''' Ensemble des flags utilisable pour la fonction GetLocaleInformation
''' </summary>
Public Enum GetLocaleInfoFlags As Integer
    ''' <summary>
    ''' LANGID in hexadecimal digits
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_ILANGUAGE = 1
    ''' <summary>
    ''' Full localized name of the language
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SLANGUAGE = 2         '  
    ''' <summary>
    ''' Full English U.S. name of the language ISO Standard 639
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SENGLANGUAGE = 4097   '  
    ''' <summary>
    ''' Abbreviated name of the language, ISO Standard 639
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVLANGNAME = 3   '  
    ''' <summary>
    ''' Native name of the language
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SNATIVELANGNAME = 4   '  
    ''' <summary>
    ''' Country code, based on international phone codes
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_ICOUNTRY = 5          '  
    ''' <summary>
    ''' The full localized name of the country.
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SCOUNTRY = 6          '  
    ''' <summary>
    ''' The full English U.S. name of the country.
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SENGCOUNTRY = 4098    '  
    ''' <summary>
    ''' Abbreviated name of the country ISO Standard 3166.
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVCTRYNAME = 7   '  
    ''' <summary>
    ''' Native name of the country.
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SNATIVECTRYNAME = 8   '  
    ''' <summary>
    ''' LANGID for the principal language spoken in this locale.
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_IDEFAULTLANGUAGE = 9  '  
    ''' <summary>
    ''' Country code for the principal country in this locale.
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_IDEFAULTCOUNTRY = 10  '  
    ''' <summary>
    ''' OEM code page associated with the country.
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_IDEFAULTCODEPAGE = 11 '  
    ''' <summary>
    ''' Characters used to separate list items.
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SLIST = 12            '  
    ''' <summary>
    ''' 0 for metric system (S.I.) and 1 for the U.S.
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_IMEASURE = 13         '  
    ''' <summary>
    ''' decimal separator
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SDECIMAL = 14         '  
    ''' <summary>
    ''' thousand separator
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_STHOUSAND = 15        '  
    ''' <summary>
    ''' Sizes for each group of digits to the left of the decimal.
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SGROUPING = 16        '  
    ''' <summary>
    ''' number of fractional digits
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_IDIGITS = 17          '  
    ''' <summary>
    ''' 0 means use no leading zeros; 1 means use leading zeros.
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_ILZERO = 18           '  
    ''' <summary>
    ''' Ten characters equivalent of the ASCII 0-9.
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SNATIVEDIGITS = 19    '  
    ''' <summary>
    ''' local monetary symbol
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SCURRENCY = 20        '  
    ''' <summary>
    ''' International monetary symbol ISO 4217.
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SINTLSYMBOL = 21      '  
    ''' <summary>
    ''' monetary decimal separator
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONDECIMALSEP = 22   '  
    ''' <summary>
    ''' monetary thousand separator
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONTHOUSANDSEP = 23  '  
    ''' <summary>
    ''' monetary grouping
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONGROUPING = 24     '  
    ''' <summary>
    ''' # local monetary digits
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_ICURRDIGITS = 25      '  
    ''' <summary>
    ''' # intl monetary digits
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_IINTLCURRDIGITS = 26  '  
    ''' <summary>
    ''' positive currency mode
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_ICURRENCY = 27        '  
    ''' <summary>
    ''' negative currency mode
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_INEGCURR = 28         '  
    ''' <summary>
    ''' date separator
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SDATE = 29            '  
    ''' <summary>
    ''' time separator
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_STIME = 30            '  
    ''' <summary>
    ''' short date format string
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SSHORTDATE = 31       '  
    ''' <summary>
    ''' long date format string
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SLONGDATE = 32        '  
    ''' <summary>
    ''' time format string
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_STIMEFORMAT = 4099    '  
    ''' <summary>
    ''' short date format, 0 M–D–Y,1 D–M–Yr,2 Y–M–D
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_IDATE = 33            '  
    ''' <summary>
    ''' long date format, 0 M–D–Y,1 D–M–Y,2 Y–M–D
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_ILDATE = 34           '  
    ''' <summary>
    ''' time format, 0 AM/PM 12-hr format, 1 24-hr format
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_ITIME = 35            '  
    ''' <summary>
    ''' Use full 4-digit century, 0 Two digit.1 Full century
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_ICENTURY = 36         '  
    ''' <summary>
    ''' leading zeros in time field, 0 No , 1 yes
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_ITLZERO = 37          '  
    ''' <summary>
    ''' leading zeros in day field, 0 No , 1 yes
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_IDAYLZERO = 38        '  
    ''' <summary>
    ''' leading zeros in month field, 0 No , 1 yes
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_IMONLZERO = 39        '  
    ''' <summary>
    ''' AM designator
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_S1159 = 40            '  
    ''' <summary>
    ''' PM designator
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_S2359 = 41            '  
    ''' <summary>
    ''' long name for Monday
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SDAYNAME1 = 42        '  
    ''' <summary>
    ''' long name for Tuesday
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SDAYNAME2 = 43        '  
    ''' <summary>
    ''' long name for Wednesday
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SDAYNAME3 = 44        '  
    ''' <summary>
    ''' long name for Thursday
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SDAYNAME4 = 45        '  
    ''' <summary>
    ''' long name for Friday
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SDAYNAME5 = 46        '  
    ''' <summary>
    ''' long name for Saturday
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SDAYNAME6 = 47        '  
    ''' <summary>
    ''' long name for Sunday
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SDAYNAME7 = 48        '  
    ''' <summary>
    ''' abbreviated name for Monday
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVDAYNAME1 = 49  '  
    ''' <summary>
    ''' abbreviated name for Tuesday
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVDAYNAME2 = 51  '  
    ''' <summary>
    ''' abbreviated name for Wednesday
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVDAYNAME3 = 52  '  
    ''' <summary>
    ''' abbreviated name for Thursday
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVDAYNAME4 = 53  '  
    ''' <summary>
    ''' abbreviated name for Friday
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVDAYNAME5 = 54  '  
    ''' <summary>
    ''' abbreviated name for Saturday
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVDAYNAME6 = 55  '  
    ''' <summary>
    ''' abbreviated name for Sunday
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVDAYNAME7 = 56  '  
    ''' <summary>
    ''' long name for January
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONTHNAME1 = 57      '  
    ''' <summary>
    ''' long name for February
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONTHNAME2 = 58      '  
    ''' <summary>
    ''' long name for March
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONTHNAME3 = 59      '  
    ''' <summary>
    ''' long name for April
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONTHNAME4 = 60      '  
    ''' <summary>
    ''' long name for May
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONTHNAME5 = 61      '  
    ''' <summary>
    ''' long name for June
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONTHNAME6 = 62      '  
    ''' <summary>
    ''' long name for July
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONTHNAME7 = 63      '  
    ''' <summary>
    ''' long name for August
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONTHNAME8 = 64      '  
    ''' <summary>
    ''' long name for September
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONTHNAME9 = 65      '  
    ''' <summary>
    ''' long name for October
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONTHNAME10 = 66     '  
    ''' <summary>
    ''' long name for November
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONTHNAME11 = 67     '  
    ''' <summary>
    ''' long name for December
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SMONTHNAME12 = 68     '  
    ''' <summary>
    ''' abbreviated name for January
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVMONTHNAME1 = 69 '  
    ''' <summary>
    ''' abbreviated name for February
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVMONTHNAME2 = 70 '  
    ''' <summary>
    ''' abbreviated name for March
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVMONTHNAME3 = 71 '  
    ''' <summary>
    ''' abbreviated name for April
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVMONTHNAME4 = 72 '  
    ''' <summary>
    ''' abbreviated name for May
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVMONTHNAME5 = 73 '  
    ''' <summary>
    ''' abbreviated name for June
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVMONTHNAME6 = 74 '  
    ''' <summary>
    ''' abbreviated name for July
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVMONTHNAME7 = 75 '  
    ''' <summary>
    ''' abbreviated name for August
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVMONTHNAME8 = 76 '  
    ''' <summary>
    ''' abbreviated name for September
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVMONTHNAME9 = 77 '  
    ''' <summary>
    ''' abbreviated name for October
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVMONTHNAME10 = 78 '  
    ''' <summary>
    ''' abbreviated name for November
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVMONTHNAME11 = 79 '  
    ''' <summary>
    ''' abbreviated name for December
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVMONTHNAME12 = 80 '  
    ''' <summary>
    ''' Native abbreviated name for 13th month, if it exists.
    ''' </summary>
    ''' <remarks></remarks>
    LOCALE_SABBREVMONTHNAME13 = 4111 ' 
End Enum

End NameSpace

Conclusion

Allez, j'espère qu'il n'y a pas de bug dans tout ca.

J'avais aussi qqchose pour récupérer la région, mais l'énumération était très longue et je n'était pas sur que ca marchait bien alors je l'ai pas mise... Sachez en tout cas que c'est censé se baser sur les Phone Codes.
 

Historique

04 mai 2006 20:46:32 :
Petite modification dans le titre & les mot-clés + correction des fautes d'orthographes... Rien de bien passionnant quoi ;-)

Commentaires et avis

signaler à un administrateur
Commentaire de nhervagault le 17/05/2006 23:00:29 administrateur CS

Salut,

Je pense que tu t'es amusé a trouver cette API pour rien.
Car les paramétres régionaux sont disponibles avec les methodes
Thread.CurrentThread.CurrentCulture sous dotnet

Et pour obtenir le separateur numerique ou le changer
il faut passer par
Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator

cf
http://www.vbfrance.com/codes/MODIFICATION-SEPARATEUR-DECIMAL-SANS-API-JSUTE-AVEC-FRAMEWORK_26570.aspx

Tu peux obentir et modifier les autres paramètres comme le séparateur de milliers le format de date, ... et tout cela pour le thread courant sans modifier les parametres de la machine.
Et sans utiliser les API.

Merci quand même pour l'API, ca peut aider.

signaler à un administrateur
Commentaire de FREMYCOMPANY le 18/05/2006 17:46:18

Peut-être :)
Après tout, comme j'ai que 14 ans, je suis pas un pro :)
Et si j'ai l'ai fait pour rien, je me suis amusé tout de même.

Fremy

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Api windows pour obtenir des infos sur le système de fichiers ? [ par SAXOBIC ] Bonsoir,Quelqu'un connaitrait-il les api windows (VB6) pour g&#233;rer le syst&#232;me de fichiers.&nbsp;Par ex :conna&#238;tre le r&#233;pertoire par Y a t'il une API pour controler les processus (winXP) ? [ par fuinegrise ] Bonsoir a tous, je cherche une API qui permettrait de controler les processus sur windows XPpour les geler ou&nbsp;les tuer par exemple...Si vous avez Quel api windows pour vb6 faut-il utiliser pour récupérer le répertoire parent d'un fichier ? [ par SAXOBIC ] Bonjour,Je pense que tout est dit dans le titreMerci &#224; celui qui r&#233;pondraA+ Api d'encodage MPEG-2 [ par Parker49 ] Salut &#224; tous ! Comme tous ceux qui disposent d'un graveur de DVD de salon auront pu le remarquer : il est impossible d'enregistrer un programme Utilisation de SendMessage-constante API [ par Trappiste ] Bonjour.Pour mon application, j'aimerai changer la couleur de fond d'un HScroll lorsque l'utilisateur s&#233;lectionne une certaine plage.Comme la pro Programmeur Java et non programmeur C/C++ ? [ par kisitomomotene ] Salut à tous Je ne crois pas qu'il soit possible d'être un programmeur Java sans être un programmeur C/C++, tout simplement parceque les API Java n'é utilisation de l'api comm avec java web start [ par adilchentoui ] je travaille sur une application avec l'api JAVAPOS et j'utilise l'api comm pour communiquer avec le port com rs232. mon programme marche bien en loca utilisation de l'api comm avec java web start [ par adilchentoui ] je travaille sur une application avec l'api JAVAPOS et j'utilise l'api comm pour communiquer avec le port com rs232. mon programme marche bien en loca utilisation de l'api comm avec java web start [ par adilchentoui ] je travaille sur une application avec l'api JAVAPOS et j'utilise l'api comm pour communiquer avec le port com rs232. mon programme marche bien en loca RegGetKeySecurity et RegSetKeySecurity [ par draluorg ] Salut a tous,Apres 3 mois sans reponses, je retente ma chance en esperant que ce coup si quelqu'un puisse un peu m'eclairer.Voila j'ai un gros souci,


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Côté IT