• Advertisement

Passage de parametre à la fermeture d'une fentere

Tout ce qui concerne la version 11 & plus récentes de windev

**Windev est une marque déposée de Pcsoft**

Passage de parametre à la fermeture d'une fentere

Messagepar gwing » Mer Jan 05, 2011 9:19 pm

Bonsoir

ma question semble familière mais c'est un cas un peu délicat .
Voici ce que je veux faire :
J'ai une fenètre fille MDI FENETRE1 déja ouverte,contenant un champs de saisie SAI_SAISIE1 lié à l
à la RUBRIQUE1 du FICHIER1.
En cliquant sur un BOUTON1 de cette FENETRE1 je veux Ouvrir une FENETRE2 dans laquelle je Rensigne un champs SAI_SAISIE2 non lié .
A la fermeture de la fenetre FENETRE2 , je veux récupérer le contenue de SAI_SAISIE2 de FENETRE2 dans SAI_SAISIE1.
de FENETRE1.

j'ai WINDEV12.
merci
gwing
Membre Confirmé
 
Messages: 154
Inscription: Lun Nov 17, 2008 3:06 pm

Advertisement

Re: Passage de parametre à la fermeture d'une fentere

Messagepar herve63 » Jeu Jan 06, 2011 8:40 am

Salut,
Tout d'abord, meilleurs voeux pour cette nouvelle année.

Pour ta question, tu dois pouvoir faire ceci :

Dans le code de fermeture de FENETRE2 :

FENETRE1.SAI_SAISIE1 = SAI_SAISIE2

L'information ne sera pas pour autant sauvegardée dans ton fichier.
Si tu as une procédure pour sauvegarder les données de FENETRE1, tu peux l'appeler.

FENETRE1.Sauvegarder()
Bon dev.
Avatar de l’utilisateur
herve63
Membre
 
Messages: 97
Inscription: Jeu Mar 18, 2010 8:48 am
Localisation: France

Re: Passage de parametre à la fermeture d'une fentere

Messagepar gwing » Mar Jan 11, 2011 8:50 pm

merci herve
je vais essayer ça
gwing
Membre Confirmé
 
Messages: 154
Inscription: Lun Nov 17, 2008 3:06 pm

Re: Passage de parametre à la fermeture d'une fentere

Messagepar dedale » Mer Jan 12, 2011 5:27 am

hello,

ou de facon plus générique , un ouvre(MaFenetre) récupère la valeur de Mafenetre..valeur renvoyé donc tu peux le récupérer directement et l'utiliser dans la suite de ton code en l'affectant d'abord dans la fenetre qui va étre fermé.
Informatique : Alliance d'un science inexacte et d'une activité humaine faillible.
dedale
Membre Confirmé
 
Messages: 314
Inscription: Ven Oct 31, 2008 4:40 pm

Re: Passage de parametre à la fermeture d'une fentere

Messagepar gwing » Ven Jan 14, 2011 9:07 pm

Ce n'est pas très évident !!!
je n'ai toujours pas obtenu le résultat souhaité.
Je ferme la Fenetre2 et les valeurs saisies dans cette fenêtre doivent être récupérés dans la fenetre1.
je sais passer les parametres à une fenêtre pendant son ouverture .
mais je ne sais pas comment récupérer les paramètres d'une fenêtre à sa fermeture
voilà .
gwing
Membre Confirmé
 
Messages: 154
Inscription: Lun Nov 17, 2008 3:06 pm

Re: Passage de parametre à la fermeture d'une fentere

Messagepar emidev » Ven Jan 14, 2011 10:05 pm

Bonjour,

cela s'apprend en cours d'informatique

les parametres
d'une fonction ou d'une procedure (une fonction renvoie un resultat et une procedure ne renvoye rien) de plus une fonction ne peut renvoyer qu'UN SEUL RESULTAT si on veut récupérer plusieurs résultat c'est donc une procédure avec des paramètres donnée, rsultat

les paramètres on 3 types
- données : paramètres qui sert a la procédure mais qui n'est pas modifié par le code de la procédure
- résultat : paramètres dont la valeur ne sert pas pour la procédure mais récupère un résultat de la procédure
- données / résultat : paramètres qui va servir dans la procédure et qui récupéra une valeur a la fin

les parametres passés a une fonction ou une procédure peuvent l'être de 2 faons
- par valeur : on reprend la valeur du paramètre mais le paramètre n'a pas d'existence propre
- par adresse : le paramètre est un variable , champs ... et est passé donc connu dans la procédure et peut être modifié
Windev fait par défaut des passages par adresse (pour un passage par valeur il faut encadrer le paramètre par des parenthèses)
ex
Code: Tout sélectionner
procedure Ajoute( p_param)
P_pam = p_param+3


si dans un code windev je fais
Code: Tout sélectionner
Mavar est un entier=1
ajoute(Mavar)

alors apres l'appel de la procedure maVar contient 4
par contre en faisant
Code: Tout sélectionner
Mavar est un entier=1
ajoute((Mavar))

alors apres l'appel maVar vaut toujour 1

voila donc pour le passage de paramètres
ensuite passons aux fonctions
Code: Tout sélectionner
Fonction ajoute(p_param)
renvoyer (p_param+3)


la lors de l'appel on peut faire
[ocde]
MaVar est un entier = 1
MonRes est un entier
MonRes = ajoute(maVar)
[/code]

dans ce cas monRes = 4 et maVar =1 apres l'appel

tout ca pour en venir qu'une fenêtre est pour windev comme une procédure ou une fonction (au choix si on fait un renvoyer ou non)
donc dans votre cas deux possibilités soit la fenêtre est une procédure et ne renvoie rien soit c'est une fonction et elle renvoie un résultat

dans votre cas par exemple vous pouvez faire quelque chose du type
MonChamps est un champs de la fenêtre 1

dans maFenetre2 qui reçoit un paramètre vous pouvez lui ajouter un deuxième paramètre qui sera de type résultat et qui prendra la valeur résultante de l'action
Code: Tout sélectionner
Procedure maFenetre2(p_param, p_resultat)

// dans le code de la fenetre quelque part vous faites
p_resultat = SAI_monChamps


ainsi et comme windev passe les paramètres par adresse dans la fenetre1 si le champs s'appelle SAI_CHAMPS
on peut faire quelque part ouvre(MaFenetre2(MonParam,SAI_CHAMPS)

ou autre solution si vous n'avez qu'un parametre ou une valeur a récupèrer dans le code de fermeture de fenetre2 il suffit de faire
RENVOYER(SAI_monChamps)

et dans fenetre1 de faire
Code: Tout sélectionner
 SAI_CHAMPS = ouvre(MaFenetre2(MonParam)


mais cette partie des paramètres est très importante c'est pour cela qu'en université d'informatique on y passe a peu pres 3 / 4 mois dessus pour bien comprendre comment cela fonctionne ensuite suivant le langage tout n'est qu'histoire de syntaxe car tous les langages fonctionnent sur ce prototype pour les paramètres
Dernière édition par emidev le Sam Jan 15, 2011 12:05 pm, édité 2 fois.
une erreur peut s'avérer exacte ! il suffit que celui qui la commise se soit trompé...

Bon dev
@+

Firetox
http://www.Emidev.fr

[PS] je ne repond pas au message privé[/PS]
emidev
Membre Confirmé
 
Messages: 622
Inscription: Lun Nov 16, 2009 10:05 am
Localisation: GRENOBLE

Re: Passage de parametre à la fermeture d'une fentere

Messagepar gwing » Ven Jan 14, 2011 11:30 pm

Merci Emidev pour ce cours , c'est un travail de professionnel.
je vais voir de ce coté .
gwing
Membre Confirmé
 
Messages: 154
Inscription: Lun Nov 17, 2008 3:06 pm

Re: Passage de parametre à la fermeture d'une fentere

Messagepar TheDuke » Sam Jan 15, 2011 8:48 am

Merci Prof
Explications toujours pédagogique,clair, concis et magistral! :P
TheDuke
SUPER MEMBRE
 
Messages: 1268
Inscription: Mer Nov 22, 2006 8:24 pm



  • Advertisement

Retourner vers Forum windev 11 & plus récentes

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot] et 0 invités