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 :

ZoneRépétée - Récupérer la Coordonnée X d'un Graphe [WD20]


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 66
    Points : 27
    Points
    27
    Par défaut ZoneRépétée - Récupérer la Coordonnée X d'un Graphe
    Bonjour,

    j'ai crée un graphe dans une zone répétée et je veut récupérer la coordonnée X d'un point ( lorsque je clique sur le point sur une ligne de la zone répétée) hors que ça marche que pour la première ligne et zéro pour le reste
    vous pouvez trouver un exemple en fichiers attachées
    et merci d'avance pour vos suggestions

    Zrépétée.zip

  2. #2
    Membre éclairé
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2017
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2017
    Messages : 329
    Points : 791
    Points
    791
    Par défaut
    Impossible d'ouvrir le projet, conflit interne DL
    Dis, ta version de WinDev, elle a bien un dongle de protection physique et non une clé émulée hein...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 66
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par kunnskap Voir le message
    Impossible d'ouvrir le projet, conflit interne DL
    Dis, ta version de WinDev, elle a bien un dongle de protection physique et non une clé émulée hein...
    c'est une version craquée sur laptop personnel pour apprendre le langage et faire des essais

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 811
    Points : 5 270
    Points
    5 270
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Pour apprendre et faire des essais, il y a la version "Express" https://www.pcsoft.fr/windev/WD-Express.htm
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 66
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Bonjour,
    Pour apprendre et faire des essais, il y a la version "Express" https://www.pcsoft.fr/windev/WD-Express.htm
    d'accord , je le savais pas et je vais la télécharger .

    mais le problème ça va être le même , es ce que vous avez essayé sur cette version et es ce que ça a marché ?

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 811
    Points : 5 270
    Points
    5 270
    Billets dans le blog
    1
    Par défaut
    On pourra déjà ouvrir le fichier. C'est impossible avec un fichier provenant d'une version crackée
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 66
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    On pourra déjà ouvrir le fichier. C'est impossible avec un fichier provenant d'une version crackée
    si ce n'est pas trops a vous demander , es ce que vous pouvez re-créer le projet et utiliser le code que j'ai publié et de voire

    merci d'avance

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 66
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par suisspal Voir le message
    c'est une version craquée sur laptop personnel pour apprendre le langage et faire des essais
    bonjour,
    j'ai posté un autre fichier (zRépétée.zip) , j'espere qu'il va s'ouvrir chez vous

  9. #9
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Para rapport à ta demande initiale, tu peux déjà regarder du côte de ZoneRépétéeInfoXY, qui te permettra de savoir sur quel élément de la zone répétée le clic de souris a été fait.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  10. #10
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 66
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Para rapport à ta demande initiale, tu peux déjà regarder du côte de ZoneRépétéeInfoXY, qui te permettra de savoir sur quel élément de la zone répétée le clic de souris a été fait.
    j'ai pas réussis à la faire fonctionner comme il faut , elle me retourne le numero de la ligne ou je clique , et moi je veut la coordonnée X du poit sur lequel je clique , ou au moins son indice dans la série , essai de voire l'exemple que j'ai mis avec mon post

  11. #11
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 057
    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 057
    Points : 9 397
    Points
    9 397
    Par défaut
    Je n'ai pas ouvert ton projet.

    Dans ce que tu as fait pour l'instant, et qui marche pour uniquement la 1ère ligne, comment procèdes-tu.
    Quel est le code que tu utilises, et SURTOUT, où as-tu positionné ce code. ( dans ton champ Graphe ?)

    Personnellement, j'ai rencontré pas mal de bugs avec les zones-répétées, Certains type de champ fonctionnent très bien, mais pas tous. Et les plantages que j'avais étaie un peu similaires à ton cas : ce qu'on faisait sur un champ s'appliquait à tous.
    Si je me souviens bien, je voulais utiliser des champs HTML dans une zone répétée, et j'ai dû renoncer.
    Par contre, je n'ai jamais eu besoin de graphe dans une zone répétée.

    La solution est peut-être d'encapsuler ton graphe dans une fenêtre interne, ou dans un champ conteneur ?
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  12. #12
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Ton projet ne peut pas être ouvert : Erreur DL (ta fenêtre non plus d'ailleurs).
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  13. #13
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 66
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Ton projet ne peut pas être ouvert : Erreur DL (ta fenêtre non plus d'ailleurs).
    j'ai ecris le code sur la partie code de la zone répétée , pour tester vous pouvez essayer de faire comme j'ai fait moi :

    - j'ai crée un projet que j'ai nommé "Zrépétée"
    - j'ai crée une nouvelle fenetre que j'ai nommé "fntr"
    - j'ai crée une zonerépétée avec le nom "ZR"
    - j'ai crée un graphe de type courbe à la premiere ligne avec comme nom "Graphe1"
    - dans le code de la zonerépétée (Initialisation de ZR) j'ai utilisé le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    grCrée("Graphe1",grCourbe)
     
    grDessine("Graphe1")
     
    //ZoneRépétéeSupprimeTout(ZR)
    ZoneRépétéeAjouteLigne(ZR,"Graphe1")
    grSourceSérie(ZR[1].Graphe1,1,grProgrammation,"-170000;180000;-190000;200000;-210000;220000;-230000;-170000;180000;-190000;200000;-210000;220000;-230000;0;100000;-110000;120000;-130000;140000;-150000;160000")
    //grDessine(ZR[1].Graphe1)
    ZoneRépétéeAjouteLigne(ZR,"Graphe1")
    grSourceSérie(ZR[2].Graphe1,1,grProgrammation,"100000;-110000;120000;-130000;140000;-150000;160000;240000;-250000;260000;-270000;280000;-290000;300000;-170000;180000;-190000;200000;-210000;220000;-230000")
    //grDessine(ZR[2].Graphe1)

    * sur la même page du code (Bouton gauche enfoncé WM_LBUTTONDOWN de ZR)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Info("La ValeurRécupérée :"+grInfoXY(Graphe1,grValeurX,SourisPosX,SourisPosY))

  14. #14
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 66
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    Je n'ai pas ouvert ton projet.

    Dans ce que tu as fait pour l'instant, et qui marche pour uniquement la 1ère ligne, comment procèdes-tu.
    Quel est le code que tu utilises, et SURTOUT, où as-tu positionné ce code. ( dans ton champ Graphe ?)

    Personnellement, j'ai rencontré pas mal de bugs avec les zones-répétées, Certains type de champ fonctionnent très bien, mais pas tous. Et les plantages que j'avais étaie un peu similaires à ton cas : ce qu'on faisait sur un champ s'appliquait à tous.
    Si je me souviens bien, je voulais utiliser des champs HTML dans une zone répétée, et j'ai dû renoncer.
    Par contre, je n'ai jamais eu besoin de graphe dans une zone répétée.

    La solution est peut-être d'encapsuler ton graphe dans une fenêtre interne, ou dans un champ conteneur ?
    le principe est de faire à peut pret comme c'est montré dans la photo , donc si je selectionne une valeur de chaque graphe et je la stock dans un tableau de variables pour dessiner un autre type de graphe avec ces points
    je ne sait pas si je peut le faire autrement (car le nombre de graphes est variable et peut atteindre les 250 ou plus )
    Images attachées Images attachées  

  15. #15
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 811
    Points : 5 270
    Points
    5 270
    Billets dans le blog
    1
    Par défaut
    Je pense que le problème provient des coordonnées de la souris que tu envoies.
    En mettant le code dans la ZR tu envoies les coordonnées de la souris relatives à la ZR et non pas au graphe. Il faudrait placer ton code dans ton champ Graphe (clic sur image), en précisant éventuellement spImage (SourisPosX(spImage)) cf https://doc.pcsoft.fr/fr-FR/?3071007&name=SourisPosX
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  16. #16
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 66
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Je pense que le problème provient des coordonnées de la souris que tu envoies.
    En mettant le code dans la ZR tu envoies les coordonnées de la souris relatives à la ZR et non pas au graphe. Il faudrait placer ton code dans ton champ Graphe (clic sur image), en précisant éventuellement spImage (SourisPosX(spImage)) cf https://doc.pcsoft.fr/fr-FR/?3071007&name=SourisPosX
    merci pour votre réponse , mais si je met le code dans la zone du graphe il ne s'executerais plus , je clique et aucun évennement ne se produise malgré que je fait un simple affichage d'info ( j'ai supprimé tout autre code zur la zone répétée et c'est la meme chose )

  17. #17
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Je n'ai pas essayé ton code. Si tu mets dans ton événement ZR le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ZoneRépétéeSelectPlus(ZR,ZoneRépétéeinfoxy(posx(),posy())
    ExecuteTraitement(ZR.Graphe1, trtclic)
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  18. #18
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 057
    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 057
    Points : 9 397
    Points
    9 397
    Par défaut
    Tu as supprimé le code de la zone-répétée, mais peut-être que la zone-répétée intercepte quand même le clic.

    J'avais eu un bug un peu similaire (pas sur une zone répétée) , et j'avais ajouté une instruction Renvoyer 1 (ou Renvoyer 0 je ne sais plus) à la fin d'une procédure. Théoriquement, aucune fonction ne récupérait le résultat de cette procédure, mais ça m'avait solutionné mon problème. Avec cette instruction 'Renvoyer' l'évenement CLIC était bien réceptionné par le 2ème controle, alors que sans l'instruction renvoyer, il ne se passait rien.

    Tu peux aussi forcer la zone répétée à 'forwarder' l'événement CLIC au graphe, avec les fonctions SendMessage() ou PostMessage().

    En tout cas, comme Voroltinquo, je pense que le traitement doit être mis dans le code du Graphe, et pas dans le code de la zone répétée.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  19. #19
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 66
    Points : 27
    Points
    27
    Par défaut
    Bonjour,

    voila ce que j'obtiens lorsque je clique sur la premiere ligne et ce que ce j'obtiens quand je clique à la deuxieme ligne

    j'ai essayé aussi avec un tableau et un conteneur et c'est le meme probleme , ca marche qu'avec les valeurs de la premiere ligneNom : error.jpg
Affichages : 209
Taille : 83,3 Ko

  20. #20
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    J'ai trouvé pourquoi cela ne fonctionne pas : le sourisposX / SourisPosY ne sont pas relatifs à la ligne de la zone répétée mais par rapport au champ Zone répétée.

    Un petit code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    nPosX, nPosY, nHauteurZR sont des entiers
    nPosX = SourisPosX()
    nPosY = SourisPosY()
    nIndiceLigne est entier = ZoneRépétéeInfoXY(ZR,ziNumLigne,nPosX,nPosY)
    nHauteurZR = ZR..HauteurLigne + 3
    SI nIndiceLigne > 0 ALORS
    	Info("La ValeurRécupérée : "+grInfoXY(ZR[nIndiceLigne].Graphe1, grValeurX, nPosX, nPosY - nHauteurZR * (nIndiceLigne-1)), nPosX, nPosY - nHauteurZR * (nIndiceLigne-1), ZR..Y)
    FIN
    Notes :
    J'ai doublé les graphes dans mon exemple (j'en ai mis 4).
    La hauteur de ligne dans la description de ZR est 153. La valeur renvoyée par ZR..HauteurLigne est 150...
    Mon code fonctionne si on ne fait pas de défilement avec l'ascenseur. Pour ce cas, il faut trouver un code pour donner la position relative de la souris par rapport à la ligne...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [WD10]Récupérer les coordonnées X,Y d'une ligne de table
    Par Louis Griffont dans le forum WinDev
    Réponses: 10
    Dernier message: 27/03/2007, 08h42
  2. Comment récupérer les coordonnées d’un clique sur une image ?
    Par da_sys dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/11/2006, 12h34
  3. Comment récupérer les coordonnées sur le bureau d'une form ?
    Par fma2112 dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 22/02/2006, 23h43
  4. récupérer les coordonnées d'un rectangle
    Par robocop2776 dans le forum MFC
    Réponses: 3
    Dernier message: 01/11/2005, 19h31
  5. [GRAPHIQUE] Récupérer les coordonnées d'un point
    Par freud dans le forum Composants VCL
    Réponses: 6
    Dernier message: 29/09/2005, 12h31

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