[..] Liste déroulante : liste ville de france

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

[..] Liste déroulante : liste ville de france

#1

Message par peuchere83 »

Bonjour à tous,

je cherche à charger ma liste déroulante avec tous les villes de France.
J'ai récupéré la liste des villes mais j'ai des zones d'ombres sur comment lié les 2.

Je pense qu'un _FileReadToArray n'est pas conseillé du fait du grand nombre d'information.
Dois je passer en bdd ?

Si oui comment faire ?

Par avance merci à tous
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Liste déroulante : liste ville de france

#2

Message par matwachich »

Quelle est la taille du fichier? Quel est le format sous le quel sont enregistrées les noms des villes?

En gros, si la taille du fichier ne dépasse pas quantité de RAM de votre PC, vous pouvez y'aller sans problème avec le _FileReadToArray

Sinon,si je suppose que les nom sont enregistrer sur une ligne alors, ça donne un truc du genre

Code : Tout sélectionner

$list = _FileListToArray("fichier.txt")
$str = ""
For $i = 1 To $list[0]
    $str &= $list[$i] & "|"
Next
$str = StringTrimRight($str, 1)
; ---
GuiCtrlSetData($ListBox, $str)
Après, il y a tellement d'autres manières de faire...
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Liste déroulante : liste ville de france

#3

Message par Iste »

Il faut même que ca ne dépasse pas 50% de la ram, car il faut pas oublier l'espace de stockage du listview lui même !
Et sinon, comme je pense que matwachich a répondu a votre probleme, je rajoute mon grain de sel en disant que oui, il vaudrait mieux reconcevoir tout ca avec un peu plus de bdd dans le tas.
Je vous conseil de vous tourner vers sqlite et une proposition dynamique de vile grace a un LIKE
Signez ici
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Liste déroulante : liste ville de france

#4

Message par jchd »

Rien n'est simple dans ce domaine flou.

Tout d'abord il faudrait savoir ce dont tu as besoin exactement, si tu parles de communes (telles que les gens les connaissent), de groupement de communes (telles que l'administration les recence), des villes principales en omettant les bourgs de 12 habitants, ...

Déjà c'est un drôle de bazar : par exemple la commune "Rivière Saas et Gourby" (n° INSEE 40244, code postal 40180) regroupe trois anciennes communes (Rivière, Saas, Gourby, évidemment). Selon la "culture" de la personne qui cherche ou nomme cette commune officielle, on peut trouver une saisie sous l'un des trois noms, ou deux, ou trois, dans un ordre différent (et oui !), avec ou pas d'accent sur Rivière, avec ou pas d'accent sur Saas (anciennes graphies), avec ou pas 'et', etc.

Rajoute ou supprime les articles (Le Bourget), les apostrophes (L'Herm), les compléments (en, sur, sous, les lès, lez, lèz, d'en, ...), les noms très proches (L'Herm 09000, Lherm 31600, Herm 40990, Herme 77114, ...), la question des 'Saint*' (Ste Marie 08400 mais Saintes Maries de la Mer 13460), les purs homonymes (il y a 14 communes distinctes nommées officiellement 'Ste Marie', sans compter les regroupements), les tirets, etc.

Là-dessus, compte bien sur l'erreur humaine et ses inévitables fautes de frappes !

Ah oui, la France c'est aussi les DOM-TOM, juste pour rire, plus des bizarreries postales (Monaco).

Pour la France (au sens large), il y a environ 41086 communes (en fait un tout petit peu moins) regroupées en 6288 codes postaux, à ma connaissance.

Tu vois que la question est bien plus complexe que beaucoup des gens le pensent. En fait, tu as les mêmes problèmes que La Redoute pour valider une adresse, sauf que tu n'as pas du tout les mêmes moyens ni les mêmes ressources.

Donc à toi de dire ce qu'il te faut vraiment et dans quel but. Si c'est pour une liste des 1000 principales villes de France, une liste déroulante est déjà peu adaptée, mais si c'est pour saisir une adresse physique réelle, il te faut de la recherche floue dans une base de données.

J'ai fait ça (avec SQLite plus une extension perso) pour une activité de vente par correspondance et c'est tout sauf trivial. Je peux te passer des billes : tables et idées d'implémentation. Pour info, nous avons expédié dans 38 pays à ce jour.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] Liste déroulante : liste ville de france

#5

Message par peuchere83 »

Merci pour toutes vos réponses.

Pour préciser la chose, voici la liste des villes que j'ai récupéré afin de gérer le plus précisément possible le nom.
(je me fiche des coordonnées gps qui se trouve dans cette base pour info).
Mon programme est en fait une interface de saisie contenant divers champs dont la fameuse liste déroulante "Nom de la Ville" et le bouton valider la saisie. (j'ai simplifier l'explication)

L'idée est que mon opérateur commence à saisir le nom de la ville et cela lui pré rempli la liste déroulante.
Le but final est que, par exemple, la ville de Sainte-Maxime soit orthographié de la même manière pour chaque nouvelles saisies.

Pour info ce fichier compte + de 37000 villes.

@matwachich: _FileListToArray ? tu voulais écrire _FileReadToArray ? Le filelist permet de lister les fichier ou répertoire contenu dans un autre répertoire mais pas de lire le contenu d'un fichier txt non ?

Avec ces infos supplémentaires avez vous des conseils ou des bouts de codes ?
Et pourquoi pas le code :P

Par avance merci.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Liste déroulante : liste ville de france

#6

Message par matwachich »

En effet pour le _FileReadToArray! désolé.
Bon, j'ai déjà fait un truc du genre, mais pas avec 37000 entrées!!!! alors je ne sais pas ce que ça donnera en terme de performances!

Ce que j'aimerai, c'est un extrait du fichier: par exemple, les 10 ou 20 premières entrées, pour voir un peut à quoi on a affaire.
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Liste déroulante : liste ville de france

#7

Message par jchd »

Bon d'accord, ton op va saisir. Mais si le village en question n'est pas dans la base, il fait quoi : il pleure ?

Sérieusement, c'est pour de l'adressage ? As-tu à côté un code postal ou autre information ? Les infos à saisir sont-elles déjà validées à coup sûr contre ta liste ou sont-elles susceptibles d'erreurs et/ou d'incomplétude ? Comment comptes-tu lever les doutes ?

Par exemple, si ton gus a à saisir "mornay", comment vas-tu dénicher le bon Mornay ? Voici les choix possibles :

Code : Tout sélectionner

PaysISO Code        Ville
FR     18350   MORNAY BERRY
FR     18600   MORNAY SUR ALLIER
FR     21610   MONTIGNY MORNAY VILLENEUVE SUR VINGEANNE
FR     26210   LAPEYROUSE MORNAY
FR     71220   MORNAY
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] Liste déroulante : liste ville de france

#8

Message par peuchere83 »

Merci pour ces réponses.

@ matwachich : voici un exemple :

Code : Tout sélectionner

code postal;insee;article;ville;ARTICLE;VILLE;libelle;region;nom region;dep;nom dep
1500;1004;;Ambérieu-en-Bugey;;AMBERIEU-EN-BUGEY;AMBERIEU EN BUGEY;82;RHONE-ALPES;1;Ain
1330;1005;;Ambérieux-en-Dombes;;AMBERIEUX-EN-DOMBES;AMBERIEUX EN DOMBES;82;RHONE-ALPES;1;Ain
1300;1006;;Ambléon;;AMBLEON;AMBLEON;82;RHONE-ALPES;1;Ain
1500;1007;;Ambronay;;AMBRONAY;AMBRONAY;82;RHONE-ALPES;1;Ain
1500;1008;;Ambutrix;;AMBUTRIX;AMBUTRIX;82;RHONE-ALPES;1;Ain
@ jchd :
Dans le cas ou la ville n'est pas dans la base, je rajouterais un champs permettant un ajout.
Il faut savoir que le code postal ne peut pas être utilisé : seul le nom de la ville (village) est présent.
Je pars du principe que la liste est bonne sinon cela devient impossible à gérer.
Pour ta remarque sur la ville de mornay, c'est pour cela que je souhaiterais qu'en fonction de sa saisie, la liste se filtre. Par exemple s'il saisi mornay, seul mornay berry, mornay sur allier et mornay apparaitront (dans ton exemple).

J'espère avoir éclairci ma demande.

Bonne journée.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Liste déroulante : liste ville de france

#9

Message par matwachich »

Un petit exemple
Fichiers joints
Desktop.zip
(1.54 Kio) Téléchargé 116 fois
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] Liste déroulante : liste ville de france

#10

Message par peuchere83 »

Merci beaucoup pour cet exemple matwachich, mais .... saurais tu me l'expliquer ?!
Car je ne comprends pas du tout l'utilisation du "dummy". Et je desteste ne pas comprendre :evil:

J'ai quand même avancé : j'arrive à interroger ma bdd :P

Par avance merci.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Répondre