brigitte666
Messages postés9Date d'inscriptionjeudi 15 mars 2012StatutMembreDernière intervention 7 juin 2012
-
15 mars 2012 à 17:13
ehjoe
Messages postés728Date d'inscriptionsamedi 4 avril 2009StatutMembreDernière intervention30 mars 2014
-
16 mars 2012 à 01:08
Bonjour,
J'aimerais réaliser le plan interactif d'un métro. L'utilisateur clique sur une station de départ (un Button) puis sur une station d'arrivée, et le programme affiche l'itinéraire le plus court, avec changements éventuels.
Pour cela, je voudrais attribuer à chaque bouton la(les) ligne(s) à laquelle il appartient, mais je ne sais pas comment faire.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 15 mars 2012 à 17:23
Bonjour,
Une suggestion (mais me parait très gourmande) : une collection par bouton.
Une autre (moins lourde) : mettre les stations dans une chaîne de caractères dans la propriété Tag (genre : toto, tata, titi) à ensuite transformer (au click) en Array par split.
En appelant ton attention sur le fait que je ne fais là que répondre à :
Pour cela, je voudrais attribuer à chaque bouton la(les) ligne(s) à laquelle il appartient
Ce qui ne veut absolument pas dire que je trouve ta méthode adaptée !
Il est vraisemblable qu'il serait préférable de penser à d'autres méthodes (utilisation de vecteurs).
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201957 15 mars 2012 à 18:13
Salut
pas facile
ce ne sont pas seulement les boutons et les cliques mais le code derriere
le plus important est la structure de donnée
comment representer le réseau
peut etre par un graph
ici
ehjoe
Messages postés728Date d'inscriptionsamedi 4 avril 2009StatutMembreDernière intervention30 mars 20144 16 mars 2012 à 00:34
Bonjour brigitte n°666,
J'ai déjà fait ça mais en électronique du temps du wraping...
Alors le principe est par exemple de naviguer sur la ligne de départ afin de trouver si l'arrivé y est, idem pour la ligne d'arrivée, sinon au pire tu peux aller jusqu'à deux changements. Pour le reste il faut que tu organises ça de telle façon que tu puisses aussi mémoriser et retrouver les correspondances pour chaque ligne, ainsi, si l'arrivé et le départ ne se trouvent pas sur la même ligne, ensuite tu vas chercher les lignes qui correspondent avec les deux de base, etc...
Ayant fait une carrière de conducteur de train, ben on ne calcule pas au plus court, mais selon l'heure, s'il y a beaucoup de trains il faut privilégier les changements, et s'il y a peu de trains, provolégier le contraire, quand c'est possible (interstation moyenne 1,5 mn ; correspondance moyenne 5 mn).
Mais, et notamment si c'est pour Paris, tu as des plans qui font ça sur le Net, alors tu irais plus vite avec un WebBrowser en te bnranchant sur le site... ou même directement par adresse http...
ehjoe
Messages postés728Date d'inscriptionsamedi 4 avril 2009StatutMembreDernière intervention30 mars 20144 16 mars 2012 à 01:08
Exemple pratique sur le métro de Paris :
source = Lamark 12
cible = Wagram 3
ligne 12
(Pte Chapelle)? Marcadet(12/4)? Lamark 12? Pigalle 12/2? (Mie d'Issy)
- Tu remontes vers pte Chapelle = pas de cible
- Tu descends vers Issy = pas de cible
- Tu remontes vers Chapelle = à Marcadet 12/4 tu vois qu'elle relie la 3, donc ok.
- Tu descends vers Issy = à Pigalle 12/2 tu vois qu'elle coupe la 3, donc ok.
- Depuis Marcadet 4 tu remonte vers clignancourt = pas de ligne 3
- Depuis Marcadet 4 tu descends vers Orléans ligne 3 ok (Réaumur) 7 stations
- Depuis Réaumur tu va vers Champéret = pas de cible
- Depuis Réaumur tu va vers Levallois = cible Wagram à 10 stations
Trajet UN 17 station + 1 correspondance (cible vers Chapelle, change Lamark 4, dir Orléans, change Réaumur, dir Levallois, stop Wagram, temps 10 * 1,5 + 5 20 minutes.
Trajet DEUX (cible vers Issy, change Pigalle 2, dir Dauphine, change Villiers, dir Levallois, cible Wagram ok. Soit 8 station 1,5 * 8 12 + 2 change = 10 total 22 minutes.
Le temps UN sera appliqué aux heures creuses, et le temps DEUX aux heures d'affluence (changement qui n'est plus de 5 mais de 2 env)? 16 minutes au total.