IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Filtrer des marqueurs sur un champ carte par des dates [WD20]


Sujet :

WinDev

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2008
    Messages : 205
    Points : 93
    Points
    93
    Par défaut Filtrer des marqueurs sur un champ carte par des dates
    Bonjour à tous,

    j'affiche des marqueurs sur un champ carte, ces derniers proviennent d'une table (COMPTAGE) par le biais de ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Pos est un géoPosition
    POI est un Marqueur
     
    //Affichage de tous les comptages
    POUR TOUT COMPTAGE 
    	Pos..Latitude = COMPTAGE.LATITUDE
    	Pos..Longitude = COMPTAGE.LONGITUDE
     
     
    	CarteAffichePosition(CARTE_TousComptages,Pos)
    	CARTE_TousComptages..Zoom = 14
    	// Modifier le mode d'affichage du champ Carte
    	CARTE_TousComptages..ModeCarte = carteModeSatellite
     
    	//Marqueurs
    	POI..Position = Pos
    	// POI..Nom doit être différent à chaque itération dans la boucle.
    	POI..Image = ("Marqueur42.Png") // Pour un marqueur personnalisé drapeau 40 pixels
    	POI..ActionClic = ClicPOI // pour faire bulle avec informations dedans
    	POI.Description = "Espèce observée  :  " + COMPTAGE.NOM_OBSERVE + RC + "Le   " + DateVersChaîne(COMPTAGE.DATE_OBSERVATION, "JJJJ  JJ   Mmmm   AAAA") //+ RC + COMPTAGE.PHOTO_ESPECE
     
    	CarteAjouteMarqueur(CARTE_TousComptages, POI)
     
    FIN
    ça fonctionne trés bien mais je voudrais pouvoir afficher que les marqueurs filtrer par des champs date (SAI_DateDébut et SAI_DateFin)

    je comptais essayais avec la fonction HFiltreComprisEntre mais je suis largué complet et arrive pas à réaliser ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MaCléParcours est une chaîne
    MaCléParcours = HFiltreComprisEntre(COMPTAGE.DATE_OBSERVATION,SAI_DateDébut,SAI_DateFin)
    Par avance je vous remercie et je saisi pas si la réalisation serait plus facile par une requête.

    Amitiés

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 393
    Points
    9 393
    Par défaut
    Visiblement, ton champ table est une table "fichier".

    Avec les tables fichiers, le système fait pas mal de choses sans que tu lui demandes explicitement, du coup, tu as l'impression que tout est facile... mais ça cache une incompréhension du truc.

    Tu as d'une part des fichiers, sur ton disque, ou sur un réseau, ou pourquoi pas sur le cloud ?
    Et tu as un champ table, qui affiche des trucs qui ont été lus dans ton fichier.

    Quand tu utilises une fonction qui commence par h, c'est une fonction qui concerne les FICHIERS.
    Par exemple, si tu fais hfiltre(), ça veut dire que les prochaines instructions de lecture de fichier prendront en compte un filtre.
    Donc , une option, c'est de faire hfiltre() comme tu l'envisages, puis ensuite, demander au programme d'afficher le contenu du fichier (filtré) dans ton champ table. Ainsi, en relisant toutes les lignes du champ table, tu auras ce que tu veux.

    L'autre option, c'est de ne pas utiliser de fonction hfiltre().
    tu peux parfaitement faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Pour tout comptage 
    si comptage.date_comptage >= sai_date1 _et_ comptage.date_comptage <= sai_date2 alors 
       // traitement
    fin
    fin
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2008
    Messages : 205
    Points : 93
    Points
    93
    Par défaut
    Re bonsoir tbc92 encore merci pour ton aide et tes explications,

    voila j'ai essayé d'adapter ta deuxième proposition mais ça ne fonction pas chez moi, en fait rien n'est filtré tout les marqueurs s'affiche.
    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Pos est un géoPosition
    POI est un Marqueur
     
     
    POUR TOUT COMPTAGE 
    	SI COMPTAGE.DATE_OBSERVATION >= SC_SélectionPériode.SAI_DateDébut ET COMPTAGE.DATE_OBSERVATION <= SC_SélectionPériode.SAI_DateFin ALORS 
     
    		// traitement
     
    		Pos..Latitude = COMPTAGE.LATITUDE
    		Pos..Longitude = COMPTAGE.LONGITUDE
     
     
    		CarteAffichePosition(CARTE_TousComptages,Pos)
    		CARTE_TousComptages..Zoom = 14
    		// Modifier le mode d'affichage du champ Carte
    		CARTE_TousComptages..ModeCarte = carteModeSatellite
     
    		//Marqueurs
    		POI..Position = Pos
    		// POI..Nom doit être différent à chaque itération dans la boucle.
    		POI..Image = ("Marqueur42.Png") // Pour un marqueur personnalisé drapeau 40 pixels
    		POI..ActionClic = ClicPOI // pour faire bulle avec informations dedans
    		POI.Description = "Espèce observée  :  " + COMPTAGE.NOM_OBSERVE + RC + "Le   " + DateVersChaîne(COMPTAGE.DATE_OBSERVATION, "JJJJ  JJ   Mmmm   AAAA") //+ RC + COMPTAGE.PHOTO_ESPECE
     
    		CarteAjouteMarqueur(CARTE_TousComptages, POI)
     
    	FIN
    FIN
    j'ai essayé avec hfiltrecomprisentre mais là aussi pas de résultat je me mélange les pinceaux, une fois ce filtre mis il faut passer par hlitpremier ?

    j'ai essayé ce code mais rien ne change également sur l'affichage des marqueurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Pos est un géoPosition
    POI est un Marqueur
     
     
    POUR TOUT COMPTAGE 
    	sMacléParcours est une chaîne
    	sMacléParcours = HFiltreComprisEntre(COMPTAGE,IDCOMPTAGE,SC_SélectionPériode.SAI_DateDébut,hSéparateurBorne,SC_SélectionPériode.SAI_DateFin + hValMax)
     
    		HLitPremier(COMPTAGE,sMacléParcours)
    		TANTQUE PAS HEnDehors()
    			HLitSuivant(COMPTAGE,sMacléParcours)
     
    		// traitement
     
    		Pos..Latitude = COMPTAGE.LATITUDE
    		Pos..Longitude = COMPTAGE.LONGITUDE
     
     
    		CarteAffichePosition(CARTE_TousComptages,Pos)
    		CARTE_TousComptages..Zoom = 14
    		// Modifier le mode d'affichage du champ Carte
    		CARTE_TousComptages..ModeCarte = carteModeSatellite
     
    		//Marqueurs
    		POI..Position = Pos
    		// POI..Nom doit être différent à chaque itération dans la boucle.
    		POI..Image = ("Marqueur42.Png") // Pour un marqueur personnalisé drapeau 40 pixels
    		POI..ActionClic = ClicPOI // pour faire bulle avec informations dedans
    		POI.Description = "Espèce observée  :  " + COMPTAGE.NOM_OBSERVE + RC + "Le   " + DateVersChaîne(COMPTAGE.DATE_OBSERVATION, "JJJJ  JJ   Mmmm   AAAA") //+ RC + COMPTAGE.PHOTO_ESPECE
     
    		CarteAjouteMarqueur(CARTE_TousComptages, POI)
     
    		FIN
    	FIN
    Merci d'avance pour l'aide

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 393
    Points
    9 393
    Par défaut
    La 2ème syntaxe ne peut pas marcher... ou en tout cas, ça me paraît très tordu.
    La 1ère syntaxe DOIT marcher : On lit plein de lignes (boucle POUR TOUT) ; pour chaque ligne, on teste si la ligne nous intéresse (test sur les dates) , et si oui, on fait un certain traitement. Ca ne peut pas être plus simple.
    Et si ça ne marche pas, c'est qu'il y a un truc. Souvent, avec les dates, les débutants ont des difficultés.

    Essaie un truc un peu différent, essaie de remplacer le test sur les dates par un test sur les latitudes (si latitude entre 43 et 44 par exemple). Si ça marche, tu auras la confirmation que le problème vient bien d'un problème sur la gestion des dates.

    Souvent, les débutants ont des dates en format JJ/MM/AAAA, qu'ils comparent à des dates en format AAAA/MM/JJ. Et ça donne à peu près n'importe quoi. Je ne vois que cette piste là.
    Toutes les dates doivent être en format AAAAMMJJ...
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2008
    Messages : 205
    Points : 93
    Points
    93
    Par défaut
    Bonjour et merci pour tes lumières apportées,

    je vais essayer de continuer à prospecter mais suis largué là lol

    je vais donc regarder au niveau du format des dates mais il me semble que les format sont bien AAAA/MM/JJ .

    Si quelqu'un avait un code similaire à un tri sur date ou un projet afin que je puisse l'adapter à mon cas ça serait bien.

    Allez je vais continuer de chercher et tenir au courant si j'y suis arrivé.

    Merci et bonne journée

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 393
    Points
    9 393
    Par défaut
    Essaie de modifier le test en faisant un test sur une autre donnée (latitude par exemple). Bien entendu, ça ne solutionnera pas directement ton problème. Mais ça permettra de diagnostiquer ce qui ne va pas. Bien diagnostiquer le problème, c'est une étape essentielle. Si le filtre sur les latitudes ne marche pas non plus, c'est que le problème est ailleurs. Si le filtre sur les latitudes marche, c'est que c'est bien un problème à cause des dates.

    Et le format AAAA/MM/JJ, ce n'est pas la même chose que AAAAMMJJ.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2008
    Messages : 205
    Points : 93
    Points
    93
    Par défaut
    Bonjour à tous et tbc92 merci pour les conseils,

    désolé ne ne pas avoir répondu plus tôt mais j'ai été en panne d'internet durant 5 jours.

    J'ai progressé grace au livre d'auto formation, j'ai réussi à filtrer mes éléments de deux façons soit par requête soit par ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    sMaclédeparcour est une chaîne
     
    sMaclédeparcour = HFiltreComprisEntre(COMPTAGE,DATE_OBSERVATION,SAI_DateDébut,hSéparateurBorne,SAI_DateFin + hValMax)
     
    HLitPremier(COMPTAGE,sMaclédeparcour)
     
    TANTQUE PAS HEnDehors()
     
    HLitSuivant(COMPTAGE,sMaclédeparcour)
    FIN
     
    TableAffiche(TABLE_REQ_Comptages_Tri_Sur_Dates,taInit)
    Pour faire les essais j'ai fait une fenêtre provisoire avec un champ table tous fonctionne comme il faut aussi bien par requête ou par la fonction hfiltre.

    Mon problème c'est que je n'arrive pas à l'adapter à mon champ carte et ne faire afficher que les marqueurs correspondants aux dates filtées.

    J'ai essayé ce code mais en vain:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Pos est un géoPosition
    POI est un Marqueur
     
    		// traitement
     
    		Pos..Latitude = COMPTAGE.LATITUDE
    		Pos..Longitude = COMPTAGE.LONGITUDE
    		 //Filtre
     
    sMaclédeparcour est une chaîne
     
    sMaclédeparcour = HFiltreComprisEntre(COMPTAGE,DATE_OBSERVATION,SAI_DateDébut,hSéparateurBorne,SAI_DateFin + hValMax)
     
    HLitPremier(COMPTAGE,sMaclédeparcour)
     
    TANTQUE PAS HEnDehors()
     
    	HLitSuivant(COMPTAGE,sMaclédeparcour)
     
    FIN
     
    		CarteAffichePosition(CARTE_TousComptages,Pos)
    		CARTE_TousComptages..Zoom = 14
    		// Modifier le mode d'affichage du champ Carte
    		CARTE_TousComptages..ModeCarte = carteModeSatellite
     
    		//Marqueurs
    		POI..Position = Pos
    		// POI..Nom doit être différent à chaque itération dans la boucle.
    		POI..Image = ("Marqueur42.Png") // Pour un marqueur personnalisé drapeau 40 pixels
    		POI..ActionClic = ClicPOI // pour faire bulle avec informations dedans
    		POI.Description = "Espèce observée  :  " + COMPTAGE.NOM_OBSERVE + RC + "Le   " + DateVersChaîne(COMPTAGE.DATE_OBSERVATION, "JJJJ  JJ   Mmmm   AAAA") //+ RC + COMPTAGE.PHOTO_ESPECE
     
    		CarteAjouteMarqueur(CARTE_TousComptages, POI)
    Par avance je vous remercie pour votre aide

    amitiés

  8. #8
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 393
    Points
    9 393
    Par défaut
    Dans l'éditeur de code, Clic sur Code // Réindentation automatique du code.
    C'est un réflexe qu'il faut avoir : indenter correctement le code. C'est indispensable dès que tu cherches à débugger un problème.

    Déjà, le code sera un peu plus facile à lire pour nous. Et il sera aussi un peu plus facile à lire pour toi.
    Sur cet extrait de code, il y a peu de choses, ça ne changera pas énormément.

    Mais quand même, ça peut suffire pour que tu voies un truc qui ne va pas.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2008
    Messages : 205
    Points : 93
    Points
    93
    Par défaut
    bonjour tbc92 et merci du conseil,

    j'ai fait ce que tu me conseillais mais ne vois rien de plus d'où cela peut provenir ou ce qui manque.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    ////////////////////////////////////////////
    Pos est un géoPosition
    POI est un Marqueur
     
    // traitement
     
    Pos..Latitude = COMPTAGE.LATITUDE
    Pos..Longitude = COMPTAGE.LONGITUDE
    //Filtre
     
    sMaclédeparcour est une chaîne
     
    sMaclédeparcour = HFiltreComprisEntre(COMPTAGE,DATE_OBSERVATION,SAI_DateDébut,hSéparateurBorne,SAI_DateFin + hValMax)
     
    HLitPremier(COMPTAGE,sMaclédeparcour)
     
    TANTQUE PAS HEnDehors()
     
    	HLitSuivant(COMPTAGE,sMaclédeparcour)
     
    FIN
     
    CarteAffichePosition(CARTE_TousComptages,Pos)
    CARTE_TousComptages..Zoom = 14
    // Modifier le mode d'affichage du champ Carte
    CARTE_TousComptages..ModeCarte = carteModeSatellite
     
    //Marqueurs
    POI..Position = Pos
    // POI..Nom doit être différent à chaque itération dans la boucle.
    POI..Image = ("Marqueur42.Png") // Pour un marqueur personnalisé drapeau 40 pixels
    POI..ActionClic = ClicPOI // pour faire bulle avec informations dedans
    POI.Description = "Espèce observée  :  " + COMPTAGE.NOM_OBSERVE + RC + "Le   " + DateVersChaîne(COMPTAGE.DATE_OBSERVATION, "JJJJ  JJ   Mmmm   AAAA") //+ RC + COMPTAGE.PHOTO_ESPECE
     
    CarteAjouteMarqueur(CARTE_TousComptages, POI)

    Cordialement.

  10. #10
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 393
    Points
    9 393
    Par défaut
    Reprenons ton code ... celui qui marche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    sMaclédeparcour est une chaîne
     
    sMaclédeparcour = HFiltreComprisEntre(COMPTAGE,DATE_OBSERVATION,SAI_DateDébut,hSéparateurBorne,SAI_DateFin + hValMax)
     
    HLitPremier(COMPTAGE,sMaclédeparcour)
     
    TANTQUE PAS HEnDehors()
     
    HLitSuivant(COMPTAGE,sMaclédeparcour)
    FIN
     
    TableAffiche(TABLE_REQ_Comptages_Tri_Sur_Dates,taInit)
    Si tu mets les lignes 5 à 10 en commentaire... il se passe quoi ?
    Et tu en conclues quoi ?
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2008
    Messages : 205
    Points : 93
    Points
    93
    Par défaut
    Bonsoir,

    j'ai un peu avancé j'ai ajouté la fonction CarteSupprimeTout avant la fonction CarteAffiche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CarteSupprimeTout(CARTE_TousComptages)
    par contre là je n'ai plus que un seul marqueur qui s'affiche et non le nombre correspondant au résultat filtré.

    Merci pour vos lumières

  12. #12
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 914
    Points : 1 496
    Points
    1 496
    Par défaut
    Bonjour.
    Lis bien le message de tbc92.

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2008
    Messages : 205
    Points : 93
    Points
    93
    Par défaut
    Bonjour TBC92 et YUSEP merci de votre aide,

    désolé mais je n'avais pas vu la réponse de tcb92, grrrr

    j'ai mis en commentaire les lignes 5 à 10 et effectivement ça fonctionne toujours, donc code inutile, grrrrrr

    Par contre dans ma fenêtre exemple avec TABLE ça fonctionne trés bien et pour ce qui est des marqueurs ça ne fonctionne toujours pas.

    Merci encore de vos lumières

  14. #14
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 393
    Points
    9 393
    Par défaut
    Et ça ne t'inspire rien que ce code soit inutile ?

    Il faut réfléchir un peu. Tu as 5 lignes de codes qui sont inutiles dans ta procédure n°1.
    Tu as les 5 même lignes de code dans ta procédure n°2, celle qui te préoccupe

    Elles font quoi, ces 5 lignes de code :
    Lire la première ligne, et tant qu'il y a des lignes à lire, continuer la lecture. Ok, ton programme lit des trucs. Et comme tu lui dis de lire et de rien faire d'autre, ton programme lit... et ne fait rien d'autre.
    Si tu veux que ton programme fasse un certain traitement pour chaque ligne lue... il va falloir lui demander, en lui donnant les bonnes instructions au bon endroit..
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2008
    Messages : 205
    Points : 93
    Points
    93
    Par défaut
    Re_bonjour tbc92,

    je comprends tes explications mais n'arrive pas du tout à solutionner, j'ai compris que les lignes 5 à 10 était inutile, mais je n'arrive pas à appliquer le filtre à carteaffiche.

    j'ai essayer de chercher des exemples à mon problème sur le net mais en vain,

    Quelles instructions me conseilles tu ?

    Par avance merci

  16. #16
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    998
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 998
    Points : 2 524
    Points
    2 524
    Par défaut
    si, au lieu de recopier bêtement ce que te ponds tout aussi bêtement le mec sur le forum de PcSoft,
    tu avais un peu suivi ce que tentait de t'expliquer intelligemment tbc92 depuis le début
    tu aurais appris à réfléchir et donc à progresser.
    Mais dommage, un imbécile t'as filé du poisson alors que tbc92 t'apprenais à pêcher.
    C'est maintenant très tendance sur les forums.

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2008
    Messages : 205
    Points : 93
    Points
    93
    Par défaut
    Re-bonsoir TBC92 ,

    un grand merci pour ton aide, j'ai réussi à faire ce que je recherchais grâce à ton aide et remarques trés constructives, au livre autoformation, et des vidéos sur le net qui se rapprochait de ce que je cherchais à faire.

    Effectivement comme le disait plus bas serendib tu m'as appris à pécher et je n'ai pas recopier bêtement le code qu'une personne m'a aider à finaliser car j'en perdais mon latin et ne savait plus quoi essayer, ni comment.

    Encore merci pour ta patience et je te souhaite une trés bonne fin de week-end.

    Cordialement.

    je met le code ci-dessous c'est on jamais si ça peut aider un de ces jours un novice comme moi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Pos est un géoPosition
    POI est un Marqueur
     
    // Pour effacer toutes les données précédentes dans la carte
    CarteSupprimeTout(CARTE_TousComptages)
    // traitement
     
    Pos..Latitude = COMPTAGE.LATITUDE
    Pos..Longitude = COMPTAGE.LONGITUDE
    CarteAffichePosition(CARTE_TousComptages,Pos)
    CARTE_TousComptages..Zoom = 14
     
    // Modifier le mode d'affichage du champ Carte
    CARTE_TousComptages..ModeCarte = carteModeSatellite
     
    //Filtre
    sMaclédeparcour est une chaîne
    sMaclédeparcour = HFiltreComprisEntre(COMPTAGE,DATE_OBSERVATION,SAI_DateDébut,hSéparateurBorne,SAI_DateFin + hValMax)
     
    HLitPremier(COMPTAGE,sMaclédeparcour)
    TANTQUE PAS HEnDehors()
    	Pos..Latitude = COMPTAGE.LATITUDE
    	Pos..Longitude = COMPTAGE.LONGITUDE
     
    	//Marqueurs
    	POI..Position = Pos
    	// POI..Nom doit être différent à chaque itération dans la boucle.
    	POI..Image = ("Marqueur42.Png") // Pour un marqueur personnalisé drapeau 40 pixels
    	POI..ActionClic = ClicPOI // pour faire bulle avec informations dedans
    	POI.Description = "Espèce observée : " + COMPTAGE.NOM_OBSERVE + RC + "Le " + DateVersChaîne(COMPTAGE.DATE_OBSERVATION, "JJJJ JJ Mmmm AAAA") //+ RC + COMPTAGE.PHOTO_ESPECE
     
    	CarteAjouteMarqueur(CARTE_TousComptages, POI)
     
    	HLitSuivant(COMPTAGE,sMaclédeparcour)
    FIN

  18. #18
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 393
    Points
    9 393
    Par défaut
    Serendib a très bien résumé la situation.
    Tu ne réfléchis pas. A un moment, tu vas effectivement trouver quelqu'un sur un forum qui te donnera la solution. Et tu diras : ''les forums,c'est génial, pas besoin d'apprendre à programmer'.

    Ce qu'il faut , c'est bien diagnostiquer ce que tu sais faire , et ce que tu ne sais pas faire.
    Ici, ton post s'appelle : Filtrer des marqueurs sur un champ carte par des dates.

    Tu as 4 mots importants dans ce titre : FILTRER MARQUEUR CARTE et DATE. 4 thèmes pour un sujet, c'est 2 voire 3 thèmes de trop.
    Tu poses une question, et tu ne sais pas lequel de ces 4 domaines te pose problème.

    Parmi ces 4 mots, quel est celui qui correspond réellement à ton problème ?
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2008
    Messages : 205
    Points : 93
    Points
    93
    Par défaut
    J'ai vraiment chercher à mettre dans l'ordre les éléments:

    Filtrer j'y suis arrivé grâce à tes observations et le livre autoformation , j'ai même essayé avec requête et hfiltre sur un champ table dans une fenêtre d'essai.

    Carte et marqueur je savais que ça fonctionnais, j'ai réussi à le réaliser grâce à des videos d'autoformation.

    Date on pensait qu'il y avait une erreur de format mais non ce dernier était bon.

    Mon problème c'est que je n'arrivais pas à mettre le tout en forme.

    J'essaye de réfléchir mais pas avec le recul d'un programmeur je suis novice, et personnelement pour comprendre j'ai besoin de voir des exemples.

    Je ne récupère pas bêtement les solutions proposés dans les forums, car j'insère des commentaires dans mes codes pour m'expliquer les démarches et si je dois y revenir plus tard sur des problèmes similaire.

    Encore merci pour ta patience.

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WM18] Click/Evenement sur Marqueur d'un champ Carte
    Par NahMean dans le forum Windev Mobile
    Réponses: 2
    Dernier message: 08/09/2015, 19h30
  2. [Google Maps] Affichage des marqueurs sur une carte à partir d'une base de donnée
    Par sigway dans le forum APIs Google
    Réponses: 16
    Dernier message: 22/10/2012, 18h49
  3. Réponses: 21
    Dernier message: 29/03/2012, 07h31
  4. Réponses: 7
    Dernier message: 06/01/2010, 08h32
  5. Champs complété par des espaces
    Par DeitY dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 23/06/2005, 15h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo