Liste des pays [Résolu]

Messages postés
116
Date d'inscription
mardi 8 août 2006
Dernière intervention
29 septembre 2013
- - Dernière réponse : JessicaR44
Messages postés
116
Date d'inscription
mardi 8 août 2006
Dernière intervention
29 septembre 2013
- 28 nov. 2006 à 22:13
Bonsoir,

J'aimerais constituer une BDD avec la liste de tous les pays, leur abréviation officielle et leur code. J'ai bien trouvé un exemple qui utilise l'API GetGeoId, mais cela ne fonctionne qu'avec ME, XP ou Server2003. Or, je travaille avec Windows2000.
J'ai donc fait une recherche sur AllAPI.net , qui m'a donné un exemple d'utilisation de l'API GetLocaleInfo.

Const LOCALE_USER_DEFAULT = &H400
Const LOCALE_SENGCOUNTRY = &H1002 ' English name of country
Const LOCALE_SENGLANGUAGE = &H1001  ' English name of language
Const LOCALE_SNATIVELANGNAME = &H4  ' native name of language
Const LOCALE_SNATIVECTRYNAME = &H8  ' native name of country
PrivateDeclareFunction GetLocaleInfo Lib"kernel32"Alias"GetLocaleInfoA" (ByVal Locale AsLong, ByVal LCType AsLong, ByVal lpLCData AsString, ByVal cchData AsLong) AsLong
PrivateSub Form_Load()
    'KPD-Team 2001
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    MsgBox "You live in " & GetInfo(LOCALE_SENGCOUNTRY) & " (" & GetInfo(LOCALE_SNATIVECTRYNAME) & ")," & vbCrLf & "and you speak " & GetInfo(LOCALE_SENGLANGUAGE) & " (" & GetInfo(LOCALE_SNATIVELANGNAME) & ").", vbInformation
EndSub
PublicFunction GetInfo(ByVal lInfo AsLong) AsString
    Dim Buffer AsString, Ret AsString
    Buffer = String$(256, 0)
    Ret = GetLocaleInfo(LOCALE_USER_DEFAULT, lInfo, Buffer, Len(Buffer))
    If Ret > 0 Then
        GetInfo = Left$(Buffer, Ret - 1)
    Else
        GetInfo = ""
    EndIf
EndFunction

J'ai essayé de faire une boucle sur LOCALE_USERDEFAULT de &H400 à &H499, mais je ne peux lister que quelques pays (pas tous)
Saudi Arabia     SAU           966
Bulgaria            BGR           359
Spain               ESP           34
Taiwan            TWN           886
Czech Republic              CZE           420
Denmark         DNK           45
Germany         DEU           49
Greece           GRC           30
United States  USA           1
Spain              ESP           34
Finland           FIN           358
France           FRA           33
Israel             ISR           972
Hungary        HUN           36
Iceland          ISL           354
Italy               ITA           39
Japan         JPN           81
.....

Si quelqu'un avait une idée ...
Merci d'avance
Jessica
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
116
Date d'inscription
mardi 8 août 2006
Dernière intervention
29 septembre 2013
3
Merci
Eureka !


Pour ceux que ça intéresse, la liste des pays est stockée dans la registry, "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\
                      CurrentVersion\telephony\Country List"
Et je vais m'autoriser à accepter ma propre réponse !
Jessica

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 118 internautes nous ont dit merci ce mois-ci

Commenter la réponse de JessicaR44
Messages postés
123
Date d'inscription
dimanche 9 mars 2003
Dernière intervention
29 avril 2009
0
Merci
Salut!

As-tu essayé de consulter le site de microsoft?

Regarde ici, c'est peut-être ce que tu cherches...
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_238z.asp

David
Commenter la réponse de dthuler
Messages postés
116
Date d'inscription
mardi 8 août 2006
Dernière intervention
29 septembre 2013
0
Merci
Bonsoir,
Non, ce n'est pas ce que je recherche, mais par contre, de liens en liens, tu m'as mise sur une piste que je vais explorer demain et je vous tiens au courant. Je t'en remercie vivement.
Jessica
Commenter la réponse de JessicaR44

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.