Page 1 sur 1

[R] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : dim. 28 avr. 2019 13:09
par Boulanza
Bonjour,
Je cherche un script (Gui) en AutoIt qui cherche l'indicatif téléphonique des pays du monde. J'ai cherché sur les forums AutoIt en plusieurs langues mes en vain. Merci pour votre aide.
Cordialement. [*]

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : dim. 28 avr. 2019 14:12
par jchd
Voici un fichier (c'est un .CSV) contenant cette information, entre autres.
pays.txt
(9.33 Kio) Téléchargé 236 fois

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : dim. 28 avr. 2019 16:57
par Boulanza
Merci jchd pour votre réponse.
Comment ajouter fichier .CSV dans contrôle Combo ?

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : lun. 29 avr. 2019 13:26
par jchd
Franchement, depuis le temps vous devriez être capable de faire ça tout seul...

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>

Local $aData = StringRegExp(FileRead("pays.txt"), "(?m)^([A-Z]{2}),([^,]+),([^,]+)", 3)

; Create a GUI with various controls.
Local $hGUI = GUICreate("Example", 800, 640)

; Create a combobox control.
Local $idComboBox = GUICtrlCreateCombo("-- Sélectionnez un pays --", 10, 10, 500, 20)
GUICtrlSetFont(-1, 9, 400, 0, "Courier New")		; toute police fixe
Local $idButton_Close = GUICtrlCreateButton("Close", 700, 600, 85, 25)

; Add additional items to the combobox.
Local $s
For $i = 0 To UBound($aData) / 3 - 1
	$s &= $aData[3 * $i] & "  -  " & StringFormat("%-46s", $aData[3 * $i + 1]) & ($aData[3 * $i + 2] = '""' ? "" : $aData[3 * $i + 2]) & "|"
Next
GUICtrlSetData($idComboBox, StringTrimRight($s, 1), "-- Sélectionnez un pays --")

; Display the GUI.
GUISetState(@SW_SHOW, $hGUI)

Local $sComboRead = ""

; Loop until the user exits.
While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE, $idButton_Close
			ExitLoop

		Case $idComboBox
			$sComboRead = GUICtrlRead($idComboBox)
			MsgBox($MB_SYSTEMMODAL, "", "The combobox is currently displaying: " & @LF & $sComboRead, 0, $hGUI)

	EndSwitch
WEnd

; Delete the previous GUI and all controls.
GUIDelete($hGUI)

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : lun. 29 avr. 2019 17:46
par Boulanza
Merci jchd pour votre réponse.
Il y a des exemples dans tous les forums Autoit pour créer GUICtrlCreateCombo. Je cherche la solution suivante : lorsque je sélectionne un pays, l'indicatif téléphonique de ce pays sélectionné doit être copié dans GUI Input.
Votre exemple est très utile pour comprendre comment ajouter fichier .CSV/.txt dans contrôle Combo et qu'il soit fonctionnel/utilisable notamment pour la partie:StringRegExp(FileRead("pays.txt"), "(?m)^([A-Z]{2}),([^,]+),([^,]+)", 3) cela va facilité la tâche pour ajouter fichier .CSV/.txt dans contrôle Combo.
Donc la solution que je cherche : à la sélectionner d'un pays, l'indicatif téléphonique du ce pays sélectionné doit être copié dans GUI Input ?
Cordialement

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : lun. 29 avr. 2019 19:29
par Boulanza
Effectivement la solution de mdanielm resoud la problématique.
; Tout supprimer avant la 1ere majuscule
$regex = "^([^0-9]*)"
$txt = "<b>Bonjour-212"
$txt = StringRegExpReplace($txt, $regex, "")
msgbox(0,"",$txt)

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : lun. 29 avr. 2019 20:40
par jchd
En l'occurence ça serait plutôt :

Code : Tout sélectionner

...
		Case $idComboBox
			$sComboRead = GUICtrlRead($idComboBox)
			GUICtrlSetData($idInput, StringRegExpReplace($sComboRead, "\D+(\d*-?\d*.*)", "$1"))
...

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : lun. 29 avr. 2019 22:52
par Boulanza
Bonsoir jchd,
Merci infiniment pour votre compréhension et de votre aide. Je vous confirme que je ne serais nullement capable de trouver la solution à ma question comme vous l'avez réalisé, c'est propre et professionnel, ça serait bénéfique pour tout le monde de finaliser cet exemple en ajoutant sur Gui Imput aussi : Pays d'origine et Code pays dans le code ci-joint.
Encore une fois merci.
Cordialement.
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
EXEMPLE01()
Func EXEMPLE01()
Global $i, $aData[3 * $i]
Local $aData = StringRegExp(FileRead("pays.txt"), "(?m)^([A-Z]{2}),([^,]+),([^,]+)", 3)
; Create a GUI with various controls.
Local $hGUI = GUICreate("Example", 400, 100)
; Create a combobox control.
Local $idComboBox = GUICtrlCreateCombo(" Sélectionnez l'idicatif de votre pays", 60, 10, 290, 20)
GUICtrlSetFont(-1, 9, 400, 0, "Courier New")    ; toute police fixe
Local $idButton_Close = GUICtrlCreateButton("Close", 700, 600, 85, 25)
$idInput1 = GUICtrlCreateInput("Indicatif", 10, 50, 45, 21)
$idInput2 = GUICtrlCreateInput("Votre numéro de téléphone", 65, 50, 150, 21)
$idInput3 = GUICtrlCreateInput("Pays d'origine", 222, 50, 100, 21)
$idInput4 = GUICtrlCreateInput("Code pays", 330, 50, 60, 21)
; Add additional items to the combobox.
Local $s
For $i = 0 To UBound($aData) / 3 - 1
   $s &= $aData[3 * $i] & "  -  " & StringFormat("%-46s", $aData[3 * $i + 1]) & ($aData[3 * $i + 2] = '""' ? "" : $aData[3 * $i + 2]) & "|"
Next
GUICtrlSetData($idComboBox, StringTrimRight($s, 1), "-- Sélectionnez un pays --")
; Display the GUI.
GUISetState(@SW_SHOW, $hGUI)
Local $sComboRead = ""
; Loop until the user exits.
While 1
   Switch GUIGetMsg()
      Case $GUI_EVENT_CLOSE, $idButton_Close
         ExitLoop
;~       Case $idComboBox
;~          $sComboRead = GUICtrlRead($idComboBox)
Case $idComboBox
         $sComboRead = GUICtrlRead($idComboBox)
         GUICtrlSetData($idInput1, StringRegExpReplace($sComboRead, "\D+(\d*-?\d*.*)", "$1"))
   MsgBox($MB_SYSTEMMODAL, "", "The combobox is currently displaying: " & @LF & $sComboRead, 0, $hGUI)
   EndSwitch
WEnd
; Delete the previous GUI and all controls.
GUIDelete($hGUI)
EndFunc

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : mar. 30 avr. 2019 00:59
par jchd
Avec ça il n'y a plus qu'à retailler les contrôles pour loger les textes plus longs et gérer ou pas le bouton Close (placé hors fenêtre pour l'instant).

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <EditConstants.au3>
#include <String.au3>


EXEMPLE01()

Func EXEMPLE01()
	Global $i, $aData[3 * $i]
	Local $aData = StringRegExp(FileRead("pays.txt"), "(?m)^([A-Z]{2}),([^,]+),([^,]+)", 3)
	; Create a GUI with various controls.
	Local $hGUI = GUICreate("Example", 500, 100)
	; Create a combobox control.
	Local $idComboBox = GUICtrlCreateCombo(" Sélectionnez l'idicatif de votre pays", 30, 10, 440, 20)
	GUICtrlSetFont(-1, 9, 400, 0, "Courier New")        ; toute police fixe
	Local $idButton_Close = GUICtrlCreateButton("Close", 700, 600, 85, 25)
	$idInput1 = GUICtrlCreateInput("Indicatif", 10, 50, 45, 21, $ES_CENTER)
	$idInput2 = GUICtrlCreateInput("Votre numéro de téléphone", 65, 50, 150, 21)
	$idInput3 = GUICtrlCreateInput("Pays d'origine", 222, 50, 200, 21, $ES_LEFT)
	$idInput4 = GUICtrlCreateInput("Code pays", 430, 50, 60, 21, $ES_CENTER)
	; Add additional items to the combobox.
	Local $s
	For $i = 0 To UBound($aData) / 3 - 1
		$s &= $aData[3 * $i] & "  -  " & StringFormat("%-46s", $aData[3 * $i + 1]) & ($aData[3 * $i + 2] = '""' ? "" : $aData[3 * $i + 2]) & "|"
	Next
	GUICtrlSetData($idComboBox, StringTrimRight($s, 1), "-- Sélectionnez un pays --")
	; Display the GUI.
	GUISetState(@SW_SHOW, $hGUI)
	Local $sComboRead = ""
	Local $sIndicatif
	; Loop until the user exits.
	While 1
		Switch GUIGetMsg()
			Case $GUI_EVENT_CLOSE, $idButton_Close
				ExitLoop
			Case $idComboBox
				$sComboRead = GUICtrlRead($idComboBox)
				$sIndicatif = StringRegExpReplace($sComboRead, "\D+(\d*-?\d*.*)", "$1")
				GUICtrlSetData($idInput1, $sIndicatif = "" ? "- - -" : $sIndicatif)
				GUICtrlSetData($idInput3, StringStripWS(StringMid($sComboRead, 8, 42), $STR_STRIPTRAILING))
				GUICtrlSetData($idInput4, StringLeft($sComboRead, 2))
		EndSwitch
	WEnd
	; Delete the previous GUI and all controls.
	GUIDelete($hGUI)
EndFunc   ;==>EXEMPLE01
C'est fait vite et mal conçu mais c'est pour l'exemple.

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : mar. 30 avr. 2019 09:24
par Boulanza
Bonjour,
Je vous remercie pour votre collaboration. Votre exemple va aider plusieurs personnes de forum pour définir la localisation des pays du monde avec toutes ses options. Une optimisation avec une listes des pays du monde en Anglais c'est plus professionnel et qui se révèle plus facile à utiliser pour les utilisateur du monde.
Cordialement.

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : mar. 30 avr. 2019 11:43
par jchd
Voici une liste en anglais. Il y a des doublons (Vatican - Holy See) et des "pays" controversés. La liste n'est pas forcément identique à l'autre en français.
A vous de jouer là, car je ne peux pas consacrer plus de temps à ce sujet.
countries.txt
(4.08 Kio) Téléchargé 175 fois

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : mar. 30 avr. 2019 12:31
par Boulanza
Merci infiniment, je suis entrain de corriger une liste conformément à l'ISO 3166 Codes des noms de pays

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : mar. 30 avr. 2019 15:40
par Boulanza
Bonjour,
Voici un fichier ISO 3166 Codes des noms de pays(c'est un .CSV) contenant: List of countries and telephone prefixes (country codes). Lien: http://www.countryareacode.net/en
Question: Pour faciliter la recherche dans toutes les langues il ne serait pas préférable de lier l'exemple de jchd avec le lien
http://www.countryareacode.net/en. Je pense que c'est plus pratique. Je n'est pas trouver sur l'aide Autoit ni sur les forums un exemple qui a traité ce cas.
Votre suggestion à ce sujet ?
Cordialement.

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : mer. 01 mai 2019 23:33
par Boulanza
Bonsoir jchd,
Je reviens vers vous suite à une modification que j'ai apporté au fichier .CSV en Anglais ci-joint. J'ai mis la liste des pays sur la première colonne comme ça on ne verra que le nom du pays sur GUICtrlCreateCombo, les autre options PaysIso doivent être non visible à l'utilisateur. J'ai ajouté le code pays alpha3 ça peut être utile pour les utilisateurs qui souhaitent avoir cette option. j'ai essayé de trébucher dans la commande :$s &= $aData[3 * $i] & " - " & StringFormat("%-46s", $aData[3 * $i + 1]) & ($aData[3 * $i + 2] = '""' ? "" : $aData[3 * $i + 2]) & "|" mais en vain.
Je compte sur votre compréhension.
Cordialement.

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : jeu. 02 mai 2019 17:30
par mikell
Si les colonnes sont modifiées dans le fichier csv, alors forcément l'expression régulière utilisée précédemment n'est plus valide et il faut l'adapter en conséquence

#Include <Array.au3>

$aData = StringRegExp(FileRead("pays.txt"), "(?m)^([^,]+),([A-Z]{2}),([^,]+)", 3)
_ArrayDisplay($aData)

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : jeu. 02 mai 2019 20:38
par Boulanza
Bonjour mikell,
Oui, $aData = StringRegExp(FileRead("paysAn.txt"), "(?m)^([^,]+),([A-Z]{2}),([^,]+)", 3) ça marche, mais pas avec $s &= $aData[3 * $i] & " - " & StringFormat("%-46s", $aData[3 * $i + 1]) & ($aData[3 * $i + 2] = '""' ? "" : $aData[3 * $i + 2]) & "|" je crois qu'il faut adapter les deux pour que ça marche bien.

D'un autre côté, ci-dessous le code que j'ai réalisé en tâtonnant, je ne saurais point le finaliser comme il a fait jchd.
Pouvez vous le finalisez svp ?
Cordialement.
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Form1", 500, 150)
Global $Label_1 = GUICtrlCreateLabel("Sélectionnez Votre Pays", 170, 20, 175, 25)
Global $Label_2 = GUICtrlCreateLabel("List of ISO 3166 List: Country Codes and  - ISO Alpha2/3, Phone index -", 10, 35, 145, 45)
Global $ListOsType = GUICtrlCreateCombo("Country Codes List", 170, 40, 145, 25)
Global $Go = GUICtrlCreateButton("Go", 152, 120, 75, 25, $WS_GROUP)


   $idInput1 = GUICtrlCreateInput("Indicatif", 170, 80, 45, 21, $ES_CENTER)
   $idInput2 = GUICtrlCreateInput("Pays d'origine", 222, 80, 100, 21, $ES_LEFT)
   $idInput3 = GUICtrlCreateInput("PaysCode2", 330, 80, 60, 21, $ES_CENTER)
    $idInput4 = GUICtrlCreateInput("PaysCode3", 400, 80, 60, 21, $ES_CENTER)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

Dim $OsType[1200] = ["Afghanistan","AF","AFG","93", _
"Albania","AL","ALB","355", _
"Algeria","DZ","DZA","213", _
"American Samoa","AS","ASM","1 684", _
"Andorra","AD","AND","376", _
"Angola","AO","AGO","244", _
"Anguilla","AI","AIA","1 264", _
"Antarctica","AQ","ATA","672", _
"Argentina","AR","ARG","54", _
"Armenia","AM","ARM","374", _
"Aruba","AW","ABW","297", _
"Australia","AU","AUS","61", _
"Austria","AT","AUT","43", _
"Azerbaijan","AZ","AZE","994", _
"Bahamas","BS","BHS","1", _
"Bahrain","BH","BHR","973", _
"Bangladesh","BD","BGD","880", _
"Barbados","BB","BRB","1", _
"Belarus","BY","BLR","375", _
"Belgium","BE","BEL","32", _
"Belize","BZ","BLZ","501", _
"Benin","BJ","BEN","229", _
"Bermuda","BM","BMU","1", _
"Bhutan","BT","BTN","975", _
"Bolivia","BO","BOL","591", _
"Bosnia and Herzegovina","BA","BIH","387", _
"Botswana","BW","BWA","267", _
"Brazil","BR","BRA","55", _
"British Virgin Islands","VG","VGB","1 284", _
"Brunei","BN","BRN","673", _
"Bulgaria","BG","BGR","359", _
"Burkina Faso","BF","BFA","226", _
"Burundi","BI","BDI","257", _
"Cambodia","KH","KHM","855", _
"Cameroon","CM","CMR","237", _
"Canada","CA","CAN","1", _
"Cape Verde","CV","CPV","238", _
"Cayman Islands","KY","CYM","344", _
"Central African Republic","CF","CAF","236", _
"Chile","CL","CHL","56", _
"China","CN","CHN","86", _
"Colombia","CO","COL","57", _
"Comoros","KM","COM","269", _
"Cook Islands","CK","COK","682", _
"Costa Rica","CR","CRI","506", _
"Croatia","HR","HRV","385", _
"Cuba","CU","CUB","53", _
"Curacao","CW","CUW","599", _
"Cyprus","CY","CYP","357", _
"Czech Republic","CZ","CZE","420", _
"Democratic Republic of Congo","CD","COD","243", _
"Denmark","DK","DNK","45", _
"Djibouti","DJ","DJI","253", _
"Dominica","DM","DMA","1", _
"Dominican Republic","DO","DOM","1", _
"East Timor","TL","TLS","670", _
"Ecuador","EC","ECU","593", _
"Egypt","EG","EGY","20", _
"El Salvador","SV","SLV","503", _
"Equatorial Guinea","GQ","GNQ","240", _
"Eritrea","ER","ERI","291", _
"Estonia","EE","EST","372", _
"Ethiopia","ET","ETH","251", _
"Falkland Islands","FK","FLK","500", _
"Faroe Islands","FO","FRO","298", _
"Fiji","FJ","FJI","679", _
"Finland","FI","FIN","358", _
"France","FR","FRA","33", _
"French Polynesia","PF","PYF","689", _
"Gabon","GA","GAB","241", _
"Gambia","GM","GMB","220", _
"Georgia","GE","GEO","995", _
"Germany","DE","DEU","49", _
"Ghana","GH","GHA","233", _
"Gibraltar","GI","GIB","350", _
"Greece","GR","GRC","30", _
"Greenland","GL","GRL","299", _
"Guadeloupe","GP","GLP","590", _
"Guam","GU","GUM","1 671", _
"Guatemala","GT","GTM","502", _
"Guinea","GN","GIN","224", _
"Guinea-Bissau","GW","GNB","245", _
"Guyana","GY","GUY","592", _
"Haiti","HT","HTI","509", _
"Honduras","HN","HND","504", _
"Hong Kong","HK","HKG","852", _
"Hungary","HU","HUN","36", _
"Iceland","IS","ISL","354", _
"India","IN","IND","91", _
"Indonesia","ID","IDN","62", _
"Iran","IR","IRN","98", _
"Iraq","IQ","IRQ","964", _
"Ireland","IE","IRL","353", _
"Isle of Man","IM","IMN","44", _
"Israel","IL","ISR","972", _
"Italy","IT","ITA","39", _
"Ivory Coast","CI","CIV","225", _
"Jamaica","JM","JAM","1", _
"Japan","JP","JPN","81", _
"Jordan","JO","JOR","962", _
"Kazakhstan","KZ","KAZ","7", _
"Kenya","KE","KEN","254", _
"Kosovo","XK","XKX","38", _
"Kuwait","KW","KWT","965", _
"Kyrgyzstan","KG","KGZ","996", _
"Laos","LA","LAO","856", _
"Latvia","LV","LVA","371", _
"Lebanon","LB","LBN","961", _
"Lesotho","LS","LSO","266", _
"Liberia","LR","LBR","231", _
"Libya","LY","LBY","218", _
"Liechtenstein","LI","LIE","423", _
"Lithuania","LT","LTU","370", _
"Luxembourg","LU","LUX","352", _
"Macau","MO","MAC","853", _
"Macedonia","MK","MKD","389", _
"Madagascar","MG","MDG","261", _
"Malawi","MW","MWI","265", _
"Malaysia","MY","MYS","60", _
"Maldives","MV","MDV","960", _
"Mali","ML","MLI","223", _
"Malta","MT","MLT","356", _
"Marshall Islands","MH","MHL","692", _
"Mauritania","MR","MRT","222", _
"Mauritius","MU","MUS","230", _
"Mexico","MX","MEX","52", _
"Micronesia","FM","FSM","691", _
"Moldova","MD","MDA","373", _
"Monaco","MC","MCO","377", _
"Mongolia","MN","MNG","976", _
"Montenegro","ME","MNE","382", _
"Montserrat","MS","MSR","1 664", _
"Morocco","MA","MAR","212", _
"Mozambique","MZ","MOZ","258", _
"Myanmar [Burma]","MM","MMR","95", _
"Namibia","NA","NAM","264", _
"Nauru","NR","NRU","674", _
"Nepal","NP","NPL","977", _
"Netherlands","NL","NLD","31", _
"New Caledonia","NC","NCL","687", _
"New Zealand","NZ","NZL","64", _
"Nicaragua","NI","NIC","505", _
"Niger","NE","NER","227", _
"Nigeria","NG","NGA","234", _
"Niue","NU","NIU","683", _
"Norfolk Island","NF","NFK","672", _
"North Korea","KP","PRK","850", _
"Northern Mariana Islands","MP","MNP","1 670", _
"Norway","NO","NOR","47", _
"Oman","OM","OMN","968", _
"Pakistan","PK","PAK","92", _
"Palau","PW","PLW","680", _
"Panama","PA","PAN","507", _
"Papua New Guinea","PG","PNG","675", _
"Paraguay","PY","PRY","595", _
"Peru","PE","PER","51", _
"Philippines","PH","PHL","63", _
"Pitcairn Islands","PN","PCN","870", _
"Poland","PL","POL","48", _
"Portugal","PT","PRT","351", _
"Puerto Rico","PR","PRI","1", _
"Qatar","QA","QAT","974", _
"Republic of the Congo","CG","COG","242", _
"Reunion","RE","REU","262", _
"Romania","RO","ROU","40", _
"Russia","RU","RUS","7", _
"Rwanda","RW","RWA","250", _
"Saint-Barthélemy","BL","BLM","590", _
"Saint Helena","SH","SHN","290", _
"Saint Kitts and Nevis","KN","KNA","1", _
"Saint Lucia","LC","LCA","1", _
"Saint Martin","MF","MAF","1 599", _
"Saint Pierre and Miquelon","PM","SPM","508", _
"Saint Vincent and the Grenadines","VC","VCT","1", _
"Samoa","WS","WSM","685", _
"San Marino","SM","SMR","378", _
"Sao Tome and Principe","ST","STP","239", _
"Saudi Arabia","SA","SAU","966", _
"Senegal","SN","SEN","221", _
"Serbia","RS","SRB","381", _
"Seychelles","SC","SYC","248", _
"Sierra Leone","SL","SLE","232", _
"Singapore","SG","SGP","65", _
"Slovakia","SK","SVK","421", _
"Slovenia","SI","SVN","386", _
"Solomon Islands","SB","SLB","677", _
"Somalia","SO","SOM","252", _
"South Africa","ZA","ZAF","27", _
"South Korea","KR","KOR","82", _
"South Sudan","SS","SSD","211", _
"Spain","ES","ESP","34", _
"Sri Lanka","LK","LKA","94", _
"Sudan","SD","SDN","249", _
"Suriname","SR","SUR","597", _
"Swaziland","SZ","SWZ","268", _
"Sweden","SE","SWE","46", _
"Switzerland","CH","CHE","41", _
"Syria","SY","SYR","963", _
"Taiwan","TW","TWN","886", _
"Tajikistan","TJ","TJK","992", _
"Tanzania","TZ","TZA","255", _
"Thailand","TH","THA","66", _
"Togo","TG","TGO","228", _
"Tokelau","TK","TKL","690", _
"Trinidad and Tobago","TT","TTO","1", _
"Tunisia","TN","TUN","216", _
"Turkey","TR","TUR","90", _
"Turkmenistan","TM","TKM","993", _
"Tuvalu","TV","TUV","688", _
"Uganda","UG","UGA","256", _
"Ukraine","UA","UKR","380", _
"United Arab Emirates","AE","ARE","971", _
"United Kingdom","GB","GBR","44", _
"United States","US","USA","1", _
"Uruguay","UY","URY","598", _
"Uzbekistan","UZ","UZB","998", _
"Vanuatu","VU","VUT","678", _
"Vatican","VA","VAT","39", _
"Venezuela","VE","VEN","58", _
"Vietnam","VN","VNM","84", _
"Western Sahara","EH","ESH","212", _
"Yemen","YE","YEM","967", _
"Zambia","ZM","ZMB","260", _
 "Zimbabwe","ZW","ZWE","263"]

; On construit le string
Global $string = ""
Global $Os
For $i In $OsType
    $string &=  $i  & "|"

Next
$string = StringTrimRight($string, 1) ; c'est pour enlever le dernier |
ConsoleWrite($string & @CRLF)

GUICtrlSetData($ListOsType, $string)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $Go
            Go_List()

   Case $ListOsType

            $sComboRead = GUICtrlRead($ListOsType)
            ;GUICtrlSetData($idInput1, $sComboRead )
                 GUICtrlSetData($idInput2, $sComboRead )
            ;GUICtrlSetData($idInput3, $sComboRead )
                ;GUICtrlSetData($idInput4, $sComboRead )

      Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

Func Go_List()
    local $Os = GuiCtrlRead($ListOsType) ; tout simplement
    MsgBox(0, "Tableau 1D", $Os)
EndFunc   ;==>Go_List

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : jeu. 02 mai 2019 23:57
par mikell
Vous comprendrez certainement qu'il ne saurait être question que nous réalisions le code à votre place, car ce n'est pas l'objectif de ce forum.
J'ai réduit ci-dessous le code initial de jchd au plus simple pour qu'il fonctionne avec votre nouveau fichier csv, de manière à ce que vous compreniez aisément le mécanisme de remplissage de la combo. Pour le reste, le fichier d'aide est tout à fait susceptible de vous fournir tous les éclaircissements souhaités.

#include <GUIConstantsEx.au3>

$aData = StringRegExp(FileRead("pays.txt"), "(?m)^([^,]+),([A-Z]{2}),([^,]+)", 3)

$hGUI = GUICreate("Example", 500, 100)
$idComboBox = GUICtrlCreateCombo(" Sélectionnez l'idicatif de votre pays", 30, 10, 440, 20)
GUICtrlSetFont(-1, 9, 400, 0, "Courier New")        ; toute police fixe
$s = ""
For $i = 0 To UBound($aData)/3 - 1
   $s &= StringFormat("%-40s", $aData[3*$i])  &  $aData[3*$i + 2]  &  "|"
Next
GUICtrlSetData($idComboBox, StringTrimRight($s, 1), "-- Sélectionnez un pays --")
GUISetState()

While 1
  Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
       ExitLoop
  EndSwitch
WEnd
 

Re: [..] Script pour chercher l'indicatif téléphonique des pays du monde

Posté : sam. 04 mai 2019 12:40
par Boulanza
Bonjour,
Voici le code il marche parfaitement :
Un grand merci à tout le monde pour avoir pris part dans la contribution de ce code.
cordialement.
#NoTrayIcon
#RequireAdmin
;==================================
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
;==========================================
;Global $idInput4
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Form1", 500, 160)
Global $Label_1 = GUICtrlCreateLabel("Choose your country", 190, 20, 175, 25)
Global $Label_2 = GUICtrlCreateLabel("List of ISO 3166 List: Country Codes and  - ISO Alpha2/3, Phone index -", 10, 35, 145, 45)
Global $ListOsType = GUICtrlCreateCombo("Country Codes List", 190, 40, 250, 25)

$idInput1 = GUICtrlCreateInput("Country of origin", 70, 80, 140, 21, $ES_LEFT)
$idInput2 = GUICtrlCreateInput("CountryCode2", 220, 80, 80, 21, $ES_CENTER)
$idInput3 = GUICtrlCreateInput("CountryCode3", 310, 80, 80, 21, $ES_CENTER)
$idInput4 = GUICtrlCreateInput("Phone index", 400, 80, 80, 21, $ES_CENTER)

Global $Go = GUICtrlCreateButton("Exit", 220, 115, 80, 25, $WS_GROUP)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

Dim $OsType[1200] = ["Afghanista" & "_" & "AF" & "_" & "AFG" & "_" & "93", _
      "Albania" & "_" & "AL" & "_" & "ALB" & "_" & "355", _
      "Algeria" & "_" & "DZ" & "_" & "DZA" & "_" & "213", _
      "American Samoa" & "_" & "AS" & "_" & "ASM" & "_" & "1684", _
      "Andorra" & "_" & "AD" & "_" & "AND" & "_" & "376", _
      "Angola" & "_" & "AO" & "_" & "AGO" & "_" & "244", _
      "Anguilla" & "_" & "AI" & "_" & "AIA" & "_" & "1 264", _
      "Antarctica" & "_" & "AQ" & "_" & "ATA" & "_" & "672", _
      "Argentina" & "_" & "AR" & "_" & "ARG" & "_" & "54", _
      "Armenia" & "_" & "AM" & "_" & "ARM" & "_" & "374", _
      "Aruba" & "_" & "AW" & "_" & "ABW" & "_" & "297", _
      "Australia" & "_" & "AU" & "_" & "AUS" & "_" & "61", _
      "Austria" & "_" & "AT" & "_" & "AUT" & "_" & "43", _
      "Azerbaija" & "_" & "AZ" & "_" & "AZE" & "_" & "994", _
      "Bahamas" & "_" & "BS" & "_" & "BHS" & "_" & "1", _
      "Bahrai" & "_" & "BH" & "_" & "BHR" & "_" & "973", _
      "Bangladesh" & "_" & "BD" & "_" & "BGD" & "_" & "880", _
      "Barbados" & "_" & "BB" & "_" & "BRB" & "_" & "1", _
      "Belarus" & "_" & "BY" & "_" & "BLR" & "_" & "375", _
      "Belgium" & "_" & "BE" & "_" & "BEL" & "_" & "32", _
      "Belize" & "_" & "BZ" & "_" & "BLZ" & "_" & "501", _
      "Beni" & "_" & "BJ" & "_" & "BE" & "_" & "229", _
      "Bermuda" & "_" & "BM" & "_" & "BMU" & "_" & "1", _
      "Bhuta" & "_" & "BT" & "_" & "BT" & "_" & "975", _
      "Bolivia" & "_" & "BO" & "_" & "BOL" & "_" & "591", _
      "Bosnia and Herzegovina" & "_" & "BA" & "_" & "BIH" & "_" & "387", _
      "Botswana" & "_" & "BW" & "_" & "BWA" & "_" & "267", _
      "Brazil" & "_" & "BR" & "_" & "BRA" & "_" & "55", _
      "British Virgin Islands" & "_" & "VG" & "_" & "VGB" & "_" & "1284", _
      "Brunei" & "_" & "B" & "_" & "BR" & "_" & "673", _
      "Bulgaria" & "_" & "BG" & "_" & "BGR" & "_" & "359", _
      "Burkina Faso" & "_" & "BF" & "_" & "BFA" & "_" & "226", _
      "Burundi" & "_" & "BI" & "_" & "BDI" & "_" & "257", _
      "Cambodia" & "_" & "KH" & "_" & "KHM" & "_" & "855", _
      "Cameroo" & "_" & "CM" & "_" & "CMR" & "_" & "237", _
      "Canada" & "_" & "CA" & "_" & "CA" & "_" & "1", _
      "Cape Verde" & "_" & "CV" & "_" & "CPV" & "_" & "238", _
      "Cayman Islands" & "_" & "KY" & "_" & "CYM" & "_" & "344", _
      "Central African Republic" & "_" & "CF" & "_" & "CAF" & "_" & "236", _
      "Chile" & "_" & "CL" & "_" & "CHL" & "_" & "56", _
      "China" & "_" & "C" & "_" & "CH" & "_" & "86", _
      "Colombia" & "_" & "CO" & "_" & "COL" & "_" & "57", _
      "Comoros" & "_" & "KM" & "_" & "COM" & "_" & "269", _
      "Cook Islands" & "_" & "CK" & "_" & "COK" & "_" & "682", _
      "Costa Rica" & "_" & "CR" & "_" & "CRI" & "_" & "506", _
      "Croatia" & "_" & "HR" & "_" & "HRV" & "_" & "385", _
      "Cuba" & "_" & "CU" & "_" & "CUB" & "_" & "53", _
      "Curacao" & "_" & "CW" & "_" & "CUW" & "_" & "599", _
      "Cyprus" & "_" & "CY" & "_" & "CYP" & "_" & "357", _
      "Czech Republic" & "_" & "CZ" & "_" & "CZE" & "_" & "420", _
      "Democratic Republic of Congo" & "_" & "CD" & "_" & "COD" & "_" & "243", _
      "Denmark" & "_" & "DK" & "_" & "DNK" & "_" & "45", _
      "Djibouti" & "_" & "DJ" & "_" & "DJI" & "_" & "253", _
      "Dominica" & "_" & "DM" & "_" & "DMA" & "_" & "1", _
      "Dominican Republic" & "_" & "DO" & "_" & "DOM" & "_" & "1", _
      "East Timor" & "_" & "TL" & "_" & "TLS" & "_" & "670", _
      "Ecuador" & "_" & "EC" & "_" & "ECU" & "_" & "593", _
      "Egypt" & "_" & "EG" & "_" & "EGY" & "_" & "20", _
      "El Salvador" & "_" & "SV" & "_" & "SLV" & "_" & "503", _
      "Equatorial Guinea" & "_" & "GQ" & "_" & "GNQ" & "_" & "240", _
      "Eritrea" & "_" & "ER" & "_" & "ERI" & "_" & "291", _
      "Estonia" & "_" & "EE" & "_" & "EST" & "_" & "372", _
      "Ethiopia" & "_" & "ET" & "_" & "ETH" & "_" & "251", _
      "Falkland Islands" & "_" & "FK" & "_" & "FLK" & "_" & "500", _
      "Faroe Islands" & "_" & "FO" & "_" & "FRO" & "_" & "298", _
      "Fiji" & "_" & "FJ" & "_" & "FJI" & "_" & "679", _
      "Finland" & "_" & "FI" & "_" & "FI" & "_" & "358", _
      "France" & "_" & "FR" & "_" & "FRA" & "_" & "33", _
      "French Polynesia" & "_" & "PF" & "_" & "PYF" & "_" & "689", _
      "Gabo" & "_" & "GA" & "_" & "GAB" & "_" & "241", _
      "Gambia" & "_" & "GM" & "_" & "GMB" & "_" & "220", _
      "Georgia" & "_" & "GE" & "_" & "GEO" & "_" & "995", _
      "Germany" & "_" & "DE" & "_" & "DEU" & "_" & "49", _
      "Ghana" & "_" & "GH" & "_" & "GHA" & "_" & "233", _
      "Gibraltar" & "_" & "GI" & "_" & "GIB" & "_" & "350", _
      "Greece" & "_" & "GR" & "_" & "GRC" & "_" & "30", _
      "Greenland" & "_" & "GL" & "_" & "GRL" & "_" & "299", _
      "Guadeloupe" & "_" & "GP" & "_" & "GLP" & "_" & "590", _
      "Guam" & "_" & "GU" & "_" & "GUM" & "_" & "1 671", _
      "Guatemala" & "_" & "GT" & "_" & "GTM" & "_" & "502", _
      "Guinea" & "_" & "G" & "_" & "GI" & "_" & "224", _
      "Guinea-Bissau" & "_" & "GW" & "_" & "GNB" & "_" & "245", _
      "Guyana" & "_" & "GY" & "_" & "GUY" & "_" & "592", _
      "Haiti" & "_" & "HT" & "_" & "HTI" & "_" & "509", _
      "Honduras" & "_" & "H" & "_" & "HND" & "_" & "504", _
      "Hong Kong" & "_" & "HK" & "_" & "HKG" & "_" & "852", _
      "Hungary" & "_" & "HU" & "_" & "HU" & "_" & "36", _
      "Iceland" & "_" & "IS" & "_" & "ISL" & "_" & "354", _
      "India" & "_" & "I" & "_" & "IND" & "_" & "91", _
      "Indonesia" & "_" & "ID" & "_" & "ID" & "_" & "62", _
      "Ira" & "_" & "IR" & "_" & "IR" & "_" & "98", _
      "Iraq" & "_" & "IQ" & "_" & "IRQ" & "_" & "964", _
      "Ireland" & "_" & "IE" & "_" & "IRL" & "_" & "353", _
      "Isle of Ma" & "_" & "IM" & "_" & "IM" & "_" & "44", _
      "Israel" & "_" & "IL" & "_" & "ISR" & "_" & "972", _
      "Italy" & "_" & "IT" & "_" & "ITA" & "_" & "39", _
      "Ivory Coast" & "_" & "CI" & "_" & "CIV" & "_" & "225", _
      "Jamaica" & "_" & "JM" & "_" & "JAM" & "_" & "1", _
      "Japa" & "_" & "JP" & "_" & "JP" & "_" & "81", _
      "Jorda" & "_" & "JO" & "_" & "JOR" & "_" & "962", _
      "Kazakhsta" & "_" & "KZ" & "_" & "KAZ" & "_" & "7", _
      "Kenya" & "_" & "KE" & "_" & "KE" & "_" & "254", _
      "Kosovo" & "_" & "XK" & "_" & "XKX" & "_" & "38", _
      "Kuwait" & "_" & "KW" & "_" & "KWT" & "_" & "965", _
      "Kyrgyzsta" & "_" & "KG" & "_" & "KGZ" & "_" & "996", _
      "Laos" & "_" & "LA" & "_" & "LAO" & "_" & "856", _
      "Latvia" & "_" & "LV" & "_" & "LVA" & "_" & "371", _
      "Lebano" & "_" & "LB" & "_" & "LB" & "_" & "961", _
      "Lesotho" & "_" & "LS" & "_" & "LSO" & "_" & "266", _
      "Liberia" & "_" & "LR" & "_" & "LBR" & "_" & "231", _
      "Libya" & "_" & "LY" & "_" & "LBY" & "_" & "218", _
      "Liechtenstei" & "_" & "LI" & "_" & "LIE" & "_" & "423", _
      "Lithuania" & "_" & "LT" & "_" & "LTU" & "_" & "370", _
      "Luxembourg" & "_" & "LU" & "_" & "LUX" & "_" & "352", _
      "Macau" & "_" & "MO" & "_" & "MAC" & "_" & "853", _
      "Macedonia" & "_" & "MK" & "_" & "MKD" & "_" & "389", _
      "Madagascar" & "_" & "MG" & "_" & "MDG" & "_" & "261", _
      "Malawi" & "_" & "MW" & "_" & "MWI" & "_" & "265", _
      "Malaysia" & "_" & "MY" & "_" & "MYS" & "_" & "60", _
      "Maldives" & "_" & "MV" & "_" & "MDV" & "_" & "960", _
      "Mali" & "_" & "ML" & "_" & "MLI" & "_" & "223", _
      "Malta" & "_" & "MT" & "_" & "MLT" & "_" & "356", _
      "Marshall Islands" & "_" & "MH" & "_" & "MHL" & "_" & "692", _
      "Mauritania" & "_" & "MR" & "_" & "MRT" & "_" & "222", _
      "Mauritius" & "_" & "MU" & "_" & "MUS" & "_" & "230", _
      "Mexico" & "_" & "MX" & "_" & "MEX" & "_" & "52", _
      "Micronesia" & "_" & "FM" & "_" & "FSM" & "_" & "691", _
      "Moldova" & "_" & "MD" & "_" & "MDA" & "_" & "373", _
      "Monaco" & "_" & "MC" & "_" & "MCO" & "_" & "377", _
      "Mongolia" & "_" & "M" & "_" & "MNG" & "_" & "976", _
      "Montenegro" & "_" & "ME" & "_" & "MNE" & "_" & "382", _
      "Montserrat" & "_" & "MS" & "_" & "MSR" & "_" & "1 664", _
      "Morocco" & "_" & "MA" & "_" & "MAR" & "_" & "212", _
      "Mozambique" & "_" & "MZ" & "_" & "MOZ" & "_" & "258", _
      "Myanmar [Burma]" & "_" & "MM" & "_" & "MMR" & "_" & "95", _
      "Namibia" & "_" & "NA" & "_" & "NAM" & "_" & "264", _
      "Nauru" & "_" & "NR" & "_" & "NRU" & "_" & "674", _
      "Nepal" & "_" & "NP" & "_" & "NPL" & "_" & "977", _
      "Netherlands" & "_" & "NL" & "_" & "NLD" & "_" & "31", _
      "New Caledonia" & "_" & "NC" & "_" & "NCL" & "_" & "687", _
      "New Zealand" & "_" & "NZ" & "_" & "NZL" & "_" & "64", _
      "Nicaragua" & "_" & "NI" & "_" & "NIC" & "_" & "505", _
      "Niger" & "_" & "NE" & "_" & "NER" & "_" & "227", _
      "Nigeria" & "_" & "NG" & "_" & "NGA" & "_" & "234", _
      "Niue" & "_" & "NU" & "_" & "NIU" & "_" & "683", _
      "Norfolk Island" & "_" & "NF" & "_" & "NFK" & "_" & "672", _
      "North Korea" & "_" & "KP" & "_" & "PRK" & "_" & "850", _
      "Northern Mariana Islands" & "_" & "MP" & "_" & "MNP" & "_" & "1670", _
      "Norway" & "_" & "NO" & "_" & "NOR" & "_" & "47", _
      "Oma" & "_" & "OM" & "_" & "OM" & "_" & "968", _
      "Pakista" & "_" & "PK" & "_" & "PAK" & "_" & "92", _
      "Palau" & "_" & "PW" & "_" & "PLW" & "_" & "680", _
      "Panama" & "_" & "PA" & "_" & "PA" & "_" & "507", _
      "Papua New Guinea" & "_" & "PG" & "_" & "PNG" & "_" & "675", _
      "Paraguay" & "_" & "PY" & "_" & "PRY" & "_" & "595", _
      "Peru" & "_" & "PE" & "_" & "PER" & "_" & "51", _
      "Philippines" & "_" & "PH" & "_" & "PHL" & "_" & "63", _
      "Pitcairn Islands" & "_" & "P" & "_" & "PC" & "_" & "870", _
      "Poland" & "_" & "PL" & "_" & "POL" & "_" & "48", _
      "Portugal" & "_" & "PT" & "_" & "PRT" & "_" & "351", _
      "Puerto Rico" & "_" & "PR" & "_" & "PRI" & "_" & "1", _
      "Qatar" & "_" & "QA" & "_" & "QAT" & "_" & "974", _
      "Republic of the Congo" & "_" & "CG" & "_" & "COG" & "_" & "242", _
      "Reunio" & "_" & "RE" & "_" & "REU" & "_" & "262", _
      "Romania" & "_" & "RO" & "_" & "ROU" & "_" & "40", _
      "Russia" & "_" & "RU" & "_" & "RUS" & "_" & "7", _
      "Rwanda" & "_" & "RW" & "_" & "RWA" & "_" & "250", _
      "Saint-Barthélemy" & "_" & "BL" & "_" & "BLM" & "_" & "590", _
      "Saint Helena" & "_" & "SH" & "_" & "SH" & "_" & "290", _
      "Saint Kitts and Nevis" & "_" & "K" & "_" & "KNA" & "_" & "1", _
      "Saint Lucia" & "_" & "LC" & "_" & "LCA" & "_" & "1", _
      "Saint Marti" & "_" & "MF" & "_" & "MAF" & "_" & "1 599", _
      "Saint Pierre and Miquelo" & "_" & "PM" & "_" & "SPM" & "_" & "508", _
      "Saint Vincent and the Grenadines" & "_" & "VC" & "_" & "VCT" & "_" & "1", _
      "Samoa" & "_" & "WS" & "_" & "WSM" & "_" & "685", _
      "San Marino" & "_" & "SM" & "_" & "SMR" & "_" & "378", _
      "Sao Tome and Principe" & "_" & "ST" & "_" & "STP" & "_" & "239", _
      "Saudi Arabia" & "_" & "SA" & "_" & "SAU" & "_" & "966", _
      "Senegal" & "_" & "S" & "_" & "SE" & "_" & "221", _
      "Serbia" & "_" & "RS" & "_" & "SRB" & "_" & "381", _
      "Seychelles" & "_" & "SC" & "_" & "SYC" & "_" & "248", _
      "Sierra Leone" & "_" & "SL" & "_" & "SLE" & "_" & "232", _
      "Singapore" & "_" & "SG" & "_" & "SGP" & "_" & "65", _
      "Slovakia" & "_" & "SK" & "_" & "SVK" & "_" & "421", _
      "Slovenia" & "_" & "SI" & "_" & "SV" & "_" & "386", _
      "Solomon Islands" & "_" & "SB" & "_" & "SLB" & "_" & "677", _
      "Somalia" & "_" & "SO" & "_" & "SOM" & "_" & "252", _
      "South Africa" & "_" & "ZA" & "_" & "ZAF" & "_" & "27", _
      "South Korea" & "_" & "KR" & "_" & "KOR" & "_" & "82", _
      "South Suda" & "_" & "SS" & "_" & "SSD" & "_" & "211", _
      "Spai" & "_" & "ES" & "_" & "ESP" & "_" & "34", _
      "Sri Lanka" & "_" & "LK" & "_" & "LKA" & "_" & "94", _
      "Suda" & "_" & "SD" & "_" & "SD" & "_" & "249", _
      "Suriname" & "_" & "SR" & "_" & "SUR" & "_" & "597", _
      "Swaziland" & "_" & "SZ" & "_" & "SWZ" & "_" & "268", _
      "Swede" & "_" & "SE" & "_" & "SWE" & "_" & "46", _
      "Switzerland" & "_" & "CH" & "_" & "CHE" & "_" & "41", _
      "Syria" & "_" & "SY" & "_" & "SYR" & "_" & "963", _
      "Taiwa" & "_" & "TW" & "_" & "TW" & "_" & "886", _
      "Tajikista" & "_" & "TJ" & "_" & "TJK" & "_" & "992", _
      "Tanzania" & "_" & "TZ" & "_" & "TZA" & "_" & "255", _
      "Thailand" & "_" & "TH" & "_" & "THA" & "_" & "66", _
      "Togo" & "_" & "TG" & "_" & "TGO" & "_" & "228", _
      "Tokelau" & "_" & "TK" & "_" & "TKL" & "_" & "690", _
      "Trinidad and Tobago" & "_" & "TT" & "_" & "TTO" & "_" & "1", _
      "Tunisia" & "_" & "T" & "_" & "TU" & "_" & "216", _
      "Turkey" & "_" & "TR" & "_" & "TUR" & "_" & "90", _
      "Turkmenista" & "_" & "TM" & "_" & "TKM" & "_" & "993", _
      "Tuvalu" & "_" & "TV" & "_" & "TUV" & "_" & "688", _
      "Uganda" & "_" & "UG" & "_" & "UGA" & "_" & "256", _
      "Ukraine" & "_" & "UA" & "_" & "UKR" & "_" & "380", _
      "United Arab Emirates" & "_" & "AE" & "_" & "ARE" & "_" & "971", _
      "United Kingdom" & "_" & "GB" & "_" & "GBR" & "_" & "44", _
      "United States" & "_" & "US" & "_" & "USA" & "_" & "1", _
      "Uruguay" & "_" & "UY" & "_" & "URY" & "_" & "598", _
      "Uzbekista" & "_" & "UZ" & "_" & "UZB" & "_" & "998", _
      "Vanuatu" & "_" & "VU" & "_" & "VUT" & "_" & "678", _
      "Vatica" & "_" & "VA" & "_" & "VAT" & "_" & "39", _
      "Venezuela" & "_" & "VE" & "_" & "VE" & "_" & "58", _
      "Vietnam" & "_" & "V" & "_" & "VNM" & "_" & "84", _
      "Western Sahara" & "_" & "EH" & "_" & "ESH" & "_" & "212", _
      "Yeme" & "_" & "YE" & "_" & "YEM" & "_" & "967", _
      "Zambia" & "_" & "ZM" & "_" & "ZMB" & "_" & "260", _
      "Zimbabwe" & "_" & "ZW" & "_" & "ZWE" & "_" & "263"]

; On construit le string
Global $string = ""
Global $Os
For $i In $OsType
   $string &= $i & "|"

Next
$string = StringTrimRight($string, 1) ; c'est pour enlever le dernier |
ConsoleWrite($string & @CRLF)

GUICtrlSetData($ListOsType, $string)

While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $Go
         Go_List()

      Case $ListOsType

         $sComboRead = GUICtrlRead($ListOsType)
         GUICtrlSetData($idInput1, $sComboRead) ; Country of origin
         GUICtrlSetData($idInput2, $sComboRead);CountryCode2
         GUICtrlSetData($idInput3, $sComboRead); CountryCode2
         GUICtrlSetData($idInput4, $sComboRead);Phone index

         ;====================================
         ;"([_A-Z0-9]*)$" ;supprime tous les lettres et chifres ainsi _ qui se trouve à droite de la première lettre majuscule = Pays
         ;"Afghanistan"&"_"&"AF"&"_"&"93", _ = Afghanistan
         $regex1 = "([_A-Z0-9]*)$"
         $txt1 = $sComboRead
         $txt1 = StringRegExpReplace($txt1, $regex1, "")
         ;msgbox(0,"2",$txt1)
         GUICtrlSetData($idInput1, $txt1)
         ;=====================================
         ;;".+_(.+?)_(,)?.+_([A-Z0-9]*)$"  supprime tous les lettres et chifres =  Code pays2
         $regex2 = ".+_(.+?)_(,)?.+_([A-Z0-9]*)$"
         $txt2 = $sComboRead
         $txt2 = StringRegExpReplace($txt2, $regex2, "\1\2")
         ;msgbox(0,"1",$txt2)
         GUICtrlSetData($idInput2, $txt2)
         ;=====================================
         ;;".+_(.+?)_(,)?([0-9]*)$"  supprime tous les lettres et chifres =  Code pays3
         $regex3 = ".+_(.+?)_(,)?([0-9]*)$"
         $txt3 = $sComboRead
         $txt3 = StringRegExpReplace($txt3, $regex3, "\1\2")
         ;msgbox(0,"2",$txt3)
         GUICtrlSetData($idInput3, $txt3)
         ;======================================
         ;"^([^0-9]*)" supprime tous les lettres  A PARTIRE DU PREMIERE  LETTRE MAJUSCULE A GAUCHE = Indicatif téléphonique
         ;"Afghanistan"&"_"&"AF"&"_"&"93", _ = 93
         $regex4 = "^([^0-9]*)"
         $txt4 = $sComboRead
         $txt4 = StringRegExpReplace($txt4, $regex4, "")
         ;msgbox(0,"",$txt4)
         GUICtrlSetData($idInput4, $txt4)
         Sleep(100)
         ;=====================================
      Case $GUI_EVENT_CLOSE
         Exit
   EndSwitch
WEnd

Func Go_List()
   ; local $Os = GuiCtrlRead($ListOsType) ; tout simplement
   ; MsgBox(0, "Tableau 1D", $Os)
   Exit
EndFunc   ;==>Go_List