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 :

utilisation d'une variable globale [WD16]


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2011
    Messages : 40
    Points : 22
    Points
    22
    Par défaut utilisation d'une variable globale
    bonsoir,

    j'ai déclaré dans une fenêtre une variable globale de type chaine, on l’appellera email.

    Je souhaite passer le contenu de cette variable en parametre de la fonction Hlitrecherchepremier dans une autre fenêtre. en fait j'ai un code du style :
    hlitrecherchepremier(client, mail, le_contenu_de_ma_variable_chaine) avec personne le nom de mon fichier et mail le nom d'une de mes catégories de ma table client. je cherche à savoir ce que je dois mettre à la place de ça : le_contenu_de_ma_variable_chaine

    d'habitude lors de l'utilisation de hlitrecherhcepremier je l'utilise de la manière suivante : hlitrecherhepremier(client, email, "developpez.com@windev.fr"). le dernier champ, à savoir "developpez.com@windev.fr" est une "chaine" qui est connue...or là moi je ne la connais pas d'avance, d'où l'utilisation d'une variable...


    En langage C, c'est quand même nettement plus facile je trouve ^^. ca fait seulement 2 semaines que je manipule le Wlangage aussi..

    voilà j'espere avoir été clair !
    je vous remercie d'avance
    oxford

  2. #2
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Bonsoir,

    C'est assez simple !

    Déja le code de l'autre fenetre, tu dois lui déclarer une procédure pour pouvoir lui passer le contenu de ta variable globale, comme ceci :

    Code de déclaration globale de ton autre fenetre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PROCEDURE Nom_Fenetre(Email est une chaine)
    Code de ton Hlitrecherchepremier de ton autre fenetre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    hlitrecherchepremier(client, mail, Email)
    Et pour passer les données en parametre, c'est lorsque tu ouvre l'autre fenetre, tu le fais comme ceci par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Ouvre(Nom_Fenetre, "monemail@orange.fr")
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Ouvre(Nom_Fenetre, Email)
    Voila

  3. #3
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    Si tu programmes en C, alors, tu 'C - sais' forcément quelle est la portée des variables. Je rappelle ici que la portée des variables commence dans l'objet où elles sont déclarées pour se terminer dans le/les objets enfants, c'est le premier point. Le second point, comme en C, Windev fait aussi le passage de paramétres (non! Mais si...)
    Et par voie de conséquence, si l'objet appelé ne fait pas partie de l'objet parent, par exemple, au hazar, une autre fenetre (tiens, tiens), alors le passage de paramétres est une nécessité...
    et donc, solution proposée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // appelle de la fenetre pour envoyer le mail
    // la fenetre pour l'exemple s'appelle FEN_ENVOIS_MAIL
    ouvre(FEN_ENVOIS_MAILS, [adresse à passer])
     
     
    PS: désolé pour la redondance de l'infos, mais ma réponse s'est croisée avec celle de damien.c
    Dans la déclaration de l'ouverture de fenetre, tu auras

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Procedure FEN_ENVOIS_MAILS(MonAdresseMail)
    et ainsi, tu pourras à loisir(s) utiliser l'adresse mail (courriel) passée en paramétres... avec la variable de la fenetre MonAdresseMail...

    Bon dev...

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2011
    Messages : 40
    Points : 22
    Points
    22
    Par défaut
    C'est quand même pas si simple que ça je trouve

    Donc recapitulons : je crois que j'ai pas tout compris

    J'ai une fenetre fen_inscription (qui permet à l'utilisateur de s'inscrire) avec un champ email (sai_email). il y a également un bouton "inscription terminé" Lors de l'appui sur le bouton "inscription terminé" de l'utilisateur je mets le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ouvre(fen_configuration, Email)
    il y a une autre fenetre fen_configuration avec un bouton on/off. Lorsque l'utilisateur appuie sur le bouton pour le mettre en ON un enregistrement est modifié dans ma BD (l'inscription est finalisé et l'application peut alors fonctionner correctement. en fait c'est comme lors de l'inscription sur un forum!)
    sauf que j'ai un mis un bouton ON/OFF pour le moment au lieu d'envoyer un mail etc...

    Dans cette fenetre, dans la declaration globale, je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure fen_configuration(Email est une chaine)
    Toujours dans cette fenêtre, je mets alors dans le champ correspondant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hlitrecherchepremier(personne, mail, Email)
    Merci de m'indiquer si j'ai tout bien compris

  5. #5
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    C'est çà

    Enfin, tu veux passer le contenu d'une variable "Email" ou celui du champ "SAI_Email" ?

    EDIT : Dans ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ouvre(fen_configuration, SAI_Email)

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2011
    Messages : 40
    Points : 22
    Points
    22
    Par défaut
    celui de sai_email (sai_email est un champ de saisie qui est remplie par les utilisateurs). j'ai une troisième fenetre fen_principal où l'utilisateur se connecte à l'application avec son email et son mot de passe.


    en fait actuellement j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    mail est une chaine
    mail = sai_email
    en tout cas merci
    je peux pas essayer le code ce soir.
    Je vous tiendrai au courant demain matin

    Bonne soirée alors
    et encore merci !

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2011
    Messages : 40
    Points : 22
    Points
    22
    Par défaut
    Et l'affectation de la variable email à mon champ de saisie SAI_email on doit la placer ou en fait?

    Merci

    edit : j'ai réussi
    le passage par parametre se "limite" à deux fenetres.
    Après reflexion je voulais jongler entre 3 fenetres, j'ai donc decidé d'utiliser des variables globales.

  8. #8
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    Bien, reprenons depuis le début...
    1) merci de poster le code du bouton de la fenetre n°1 qui ouvre la fenetre n°2
    2) Merci de poster le code d'initialisation de la fenetre n°2 ainsi que celui du bouton ON/OFF...
    Après, je pense que nous verrons ce qu'il est possible de faire
    mais sans cela, comment dire, difficile...

  9. #9
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 173
    Points : 83
    Points
    83
    Par défaut
    Salut, je ne suis pas sûr de bien cerner le problème mais voici quelques conseils...
    1) Pour déclarer une variable globale, l'endroit idéal est:Menu Projet-Code du Projet-Initialisation
    2) Ensuite étant donné que SAI_Email et la variable E_mail ont le même contenu alors je te conseille cette syntaxe: HLitRecherchePremier(Client,Email,Nom_de_fenetre_contenant_SAI_E_mail.SAI_Email). Mais assure toi que la fenetre est toujours ouverte.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2011
    Messages : 40
    Points : 22
    Points
    22
    Par défaut
    Merci j'ai plus de soucis à ce niveau là

    maintenant j'ai du mal quant à l'utilisation d'un service :
    http://www.developpez.net/forums/d11...e/#post6104526

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 27/03/2009, 14h37
  2. Réponses: 3
    Dernier message: 31/12/2008, 13h50
  3. utilisation d'une variable global
    Par poula dans le forum Forms
    Réponses: 1
    Dernier message: 06/01/2007, 04h14
  4. Réponses: 4
    Dernier message: 20/06/2005, 16h04
  5. utilisation d'une variable globale
    Par ZZ dans le forum ASP
    Réponses: 3
    Dernier message: 03/12/2003, 20h11

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