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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

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

#1

Message 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. [*]
Modifié en dernier par Boulanza le sam. 04 mai 2019 13:54, modifié 1 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

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

#2

Message par jchd »

Voici un fichier (c'est un .CSV) contenant cette information, entre autres.
pays.txt
(9.33 Kio) Téléchargé 236 fois
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

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

#3

Message par Boulanza »

Merci jchd pour votre réponse.
Comment ajouter fichier .CSV dans contrôle Combo ?
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

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

#4

Message 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)
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

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

#5

Message 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
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

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

#6

Message 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)
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

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

#7

Message 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"))
...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

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

#8

Message 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
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

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

#9

Message 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.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

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

#10

Message 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.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

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

#11

Message 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é 176 fois
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

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

#12

Message par Boulanza »

Merci infiniment, je suis entrain de corriger une liste conformément à l'ISO 3166 Codes des noms de pays
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

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

#13

Message 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.
Fichiers joints
pays.txt
(12.71 Kio) Téléchargé 168 fois
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

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

#14

Message 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.
Fichiers joints
pays.txt
(8.78 Kio) Téléchargé 155 fois
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#15

Message 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)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

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

#16

Message 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
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#17

Message 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
 
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

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

#18

Message 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
Répondre