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 :

Envoyer des données vers popup


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2019
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Décembre 2019
    Messages : 112
    Points : 21
    Points
    21
    Par défaut Envoyer des données vers popup
    Bonjour
    Désolé pour mes questions, surtout débutant comme je suis, sachant que je suis médecin pour cela mes questions paraissent parfois débiles.
    Ma question est la suivante :
    J'ai une fenêtre interne son nom : FI_FicheIndividuelPatient dont existe dessus un champ texte type date sai_DDR

    je veux envoyer la valeur date afficher sur FI_FicheIndividuelPatient.SAI_DDR vers fenêtre popup POP_DDR.SAI_DDR

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //  clic sur btn_ddr 
    sPopDDR est une chaîne
     sPopDDR=OuvrePopup(POP_DDR)
    POP_DDR.SAI_DDR=FI_FicheIndividuelPatient.SAI_DDR  =======cette ligne affiche erreur  POP_DDR.SAI_DDR est inconnu
    // OuvrePopup(POP_DDR)
     
    SAI_AgeGrossTheorq=sPopDDR
     SI SAI_AgeGrossTheorq="-1" 
     	RENVOYER opFinTraitement
     FIN
     SI SAI_AgeGrossTheorq<>"-1" 
    	 SAI_AgeGrossTheorq=sPopDDR
    FIN
    Un autre problème le champ date sur le fenêtre popup ne veut pas afficher le calendrier
    merci pour votre aide
    Images attachées Images attachées   

  2. #2
    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 396
    Points
    9 396
    Par défaut
    Imaginons que ton programmme accepte de s'exécuter, que va-t-il se passer :

    Tu as une instruction ouvrepopup(xxx) (ici en ligne 3), le programme ouvre la fenêtre et attend que l'utilisateur agisse.
    Donc le programme ne passera à l'instruction suivante que quand l'utilisateur aura fermé la fenêtre.

    L'instruction POP_DDR.SAI_DDR= .... sera donc exécutée après la fermeture de la fenêtre popup , trop tard !


    Il faut utiliser les paramètres ; regarde l'aide ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ouvrepopup ( pop_ddr, FI_FicheIndividuelPatient.SAI_DDR )
    Et ensuite, dans le code de la fenêtre popup, il va falloir dire au programme quoi faire de ce paramètre. La méthode est expliquée dans le lien précédent, dans le paragraphe 'paramètres passés à la fenêtre à ouvrir'.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2019
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Décembre 2019
    Messages : 112
    Points : 21
    Points
    21
    Par défaut
    Rebonjour voici ce que j'ai obtenu
    Images attachées Images attachées  

  4. #4
    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 396
    Points
    9 396
    Par défaut
    Normal.
    Lis la fin de mon 1er message. C'état expliqué un peu rapidement.

    Là, tu envoies une information à la fenêtre popup, mais tu ne lui dis pas quoi en faire ; le programme ne sait pas s'il doit afficher cette valeur dans du texte, ou dans un champ de saisie... Tu pourrais même lui envoyer 2 ou 3 paramètres, mais si tu ne lui dis pas quoi faire avec ces paramètres, tu as ce message d'erreur.

    Dans la fenêtre Popup, il faut donc faire des changements pour lui dire : tu reçois un paramètre, voici ce qu'il faut en faire.

    Code à mettre dans la fenêtre popup :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // Dans la section Déclarations Globales de Pop_DDR
    procedure Pop_DDR ( zdate est une date ) 
     
    // Dans la section Fin d'initialisation de Pop_DDR
    sai_ddr = zdate
    J'ai mis dans la première ligne procedure Pop_DDR ( zdate est une date ) , mais j'aurais pu mettre procedure Pop_DDR ( zdate )
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2019
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Décembre 2019
    Messages : 112
    Points : 21
    Points
    21
    Par défaut
    BONJOUR CHER AMI
    sincèrement j'arrive pas à mon sortir
    voila ce que j'ai fait
    Images attachées Images attachées   

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    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 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Tu ouvres 3 fois ta popup, c'est 2 fois de trop.

    Je suppose que ce qui suit la déclaration de la chaîne est dans un bouton ou dans une procédure locale.

    Dans un premier temps, comme l'a expliqué tbc92, au niveau du codage, une fenêtre Popup se comporte à 99% comme une fenêtre normale.
    Elle prend des paramètres, ici la date et elle renvoie un résultat ici AgeGrossTheorique.

    Les paramètres sont passés dans la fonction Ouvre/OuvrePopup.
    La manière dont la fenêtre va traiter ces paramètres se fait dans l'initialisation.
    On va donc indiquer à la fenêtre qu'elle doit récupérer des données, comme on le ferait pour une Fonction "normale". Cela se passe dans la déclaration de la fenêtre.
    Hé, la fenêtre, non seulement tu vas t'ouvrir, mais en plus je t'envoie du boulot voilà déjà une date, je te dirai plus tard ce qu'il faut en faire
    Qui en bon W Langage se traduit par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PROCEDURE POP_DDR(dDateATraiter est date)
    [/CODE]
    Cela se met dans l'initialisation de la Fenêtre Popup.
    Ça, c'est le
    voilà déjà une date
    Dans le code de fin d'initialisation on dit à la fenêtre ce qu'elle doit en faire. Par exemple l'affecter à un champ de saisie.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MaFenêtre..ValeurRenvoyée="-1"
    SAI_MaSaisie=dDateATraiter
    Passons maintenant à l'appel de cette fenêtre.
    L'ouverture d'une fenêtre se fait via Ouvre/OuvrePopup jusque là rien de neuf et si la fenêtre attend des paramètres il faut lui passer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    dDateAPasser est date
    sRésultat est chaine
     
    dDateAPasser=FI_FicheIndividuelPatient.SAI_DDR //On doit passer par cette phase car Windev n'aime pas toujours le passage d'une date ou d'une heure en parmètre
    //Même si la valeur renvoyée est bien déclarée
    sRésultat=OuvrePopup(POP_DDR,dDateAPasser)
    Et c'est tout. Si le code de fermeture de la fenêtre a bien été renseigné, si il y a une instruction RENVOYER Valeur ou POP_DDR..ValeurRenvoye = Valeur, tout doit se comporter normalement
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  7. #7
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2019
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Décembre 2019
    Messages : 112
    Points : 21
    Points
    21
    Par défaut
    Merci à vous tous, le problème est résolu grâce à vos solutions, une fois que mon programme sera réalisé je mettrai vos noms comme contributeurs.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2019
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Décembre 2019
    Messages : 112
    Points : 21
    Points
    21
    Par défaut
    Mes chers vous tellement gentil que je veux abuser de votre génie

    la date s'affiche correctement dans le popup dans le champ sai_ddr mais n'actionne pas son code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SAI_DDR..Libellé =  "DDR: " + DateVersChaîne(SAI_DDR, "Jjjj JJ Mmmm AAAA")
     
    //SI SAI_Ages="" ALORS
    //	Erreur(ErreurInfo())	
    //SINON
    dMonAge est une Date
    dMonAge = Age(SAI_DDR, DateDuJour())
    LIB_AgeGross =ChaîneConstruit(" %1 mois et %2 jours", dMonAge..Mois, dMonAge..Jour)

  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
    Bonjour,

    Regarde du côté de executetraitement().
    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
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    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 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Où se trouve ce code.
    Dans quelle condition doit il être déclenché ?
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  11. #11
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2019
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Décembre 2019
    Messages : 112
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Où se trouve ce code.
    Dans quelle condition doit il être déclenché ?
    bonjour
    le code ce trouve dans le fenêtre popup qui reçoit déjà la valeur date quand je clique sur le bouton de la page principale
    Images attachées Images attachées   

  12. #12
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2019
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Décembre 2019
    Messages : 112
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Bonjour,

    Regarde du côté de executetraitement().
    bonjour avec cette possibilité le problème est résolu

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

Discussions similaires

  1. Impossible d'envoyer des données vers la servlet
    Par momjunior dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 15/11/2018, 12h18
  2. [AC-2013] Envoyé des données vers un afficheur-client connecté sur COM1
    Par toumack dans le forum Access
    Réponses: 1
    Dernier message: 03/08/2015, 13h42
  3. Réponses: 16
    Dernier message: 20/03/2006, 23h21
  4. Envoyer des données mysql vers Excel
    Par thierry198 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 09/11/2005, 19h59
  5. [socket] envoyer des données vers un port com
    Par Slimer dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 20/07/2004, 17h35

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