PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Accéder à un champs d'un état par une fenêtre
Accéder à un champs d'un état par une fenêtre
Débuté par Guillaume, 30 juin 2015 09:21 - 6 réponses
Posté le 30 juin 2015 - 09:21
Bonjour à tous,

Voilà je commence le WinDev et j'ai un petit soucis pour accéder à un champs dans un état via une fenêtre.
Je pensais qu'en utilisant cette méthode Etat.champ..Libéllé="texte" je pouvais modifier la valeur du champs mais WinDev me dit que le champs est inconnu.
Je n'ai apparemment pas la bonne méthode. pouvez-vous m'aider.
Merci d'avance
Posté le 30 juin 2015 - 09:51
Guillaume avait écrit le 30/06/2015 :
Bonjour à tous,

Voilà je commence le WinDev et j'ai un petit soucis pour accéder à un champs
dans un état via une fenêtre.
Je pensais qu'en utilisant cette méthode Etat.champ..Libéllé="texte" je
pouvais modifier la valeur du champs mais WinDev me dit que le champs est
inconnu.
Je n'ai apparemment pas la bonne méthode. pouvez-vous m'aider.
Merci d'avance


bonjour,

tout objet (fenêtre, etat,...) non ouvert n'est pas accessible c'est la
base.

--
Cordialement JeAn-PhI
Posté le 30 juin 2015 - 10:08
Qu'entend tu par ouvrir?

J'ai créé une fenêtre IHM qui fait un traitement et je souhaiterais éditer un document en fonction de données acquises.
Comment fais tu le lien entre la fenêtre et l'état pour par exemple modifier des libellés en cliquant sur des boutons de la fenêtre.
Merci pour ton aide
Posté le 30 juin 2015 - 14:06
Quand tu fais iImprime() , ça ouvre l'Etat , et tu peux (théoriquement) modifier ton état. Le problème, c'est qu'en général, quand tu fais iImprime(), tu ne veux plus exécuter de code de la fenêtre mère.

Tu as une solution de contournement, un peu lourde, mais je ne vois pas mieux.

Dans ta fenêtre, au lieu de faire Etat.champ..Libéllé="texte" , tu fais ETAT_libelle = "texte" ( ETAT_libelle est une variable globale, ou une variable de ta fenêtre si tu veux et si l'organisation de ton programme convient)
Et dans le code de ton état, tu peux exploiter ces variables globales, ou exploiter le contenu de telle ou telle fenêtre qui est ouverte.
Posté le 30 juin 2015 - 15:23
Je voulais éviter d'en arriver là mais je n'ai pas assez de recul sur WinDev.
Je vais faire ta méthode certes lourde mais fonctionnelle :merci:

Merci Joel

Bonne Journée
Posté le 30 juin 2015 - 15:51
Bonjour

le plus simple est de passer la valeur en question en paramètre à l'état
lui même...

Le code d'inti de l'état pourra faire l'affectation

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

Disponible : WXShowroom.com, WXReplication (open source)
Bientôt : WXEDM (open source)
Plus d'information sur http://fabriceharari.com


On 6/30/2015 7:23 AM, Guillaume wrote:
Je voulais éviter d'en arriver là mais je n'ai pas assez de recul sur
WinDev.
Je vais faire ta méthode certes lourde mais fonctionnelle :merci:

Merci Joel

Bonne Journée
Posté le 30 juin 2015 - 16:45
Guillaume a formulé la demande :
Qu'entend tu par ouvrir?

J'ai créé une fenêtre IHM qui fait un traitement et je souhaiterais éditer un
document en fonction de données acquises.
Comment fais tu le lien entre la fenêtre et l'état pour par exemple modifier
des libellés en cliquant sur des boutons de la fenêtre.
Merci pour ton aide


est ce que ce sont des données stockées en base ? si oui effectuer la
lecture des données dans l'état

est ce que les données sont le résultat d'un traitement sur des données
en base ou autres sans parcours ? si oui alors utiliser un tableau
associatif à passer en paramètre à l'état.

est ce qu'on doit parcourir les données ? sont-elles affiché dans un
champ table ? sont-elle affiché uniquement dans des champs de saisie ?

il existe encore trop de flou dans votre demande pour vous donner une
réponse précise.

--
Cordialement JeAn-PhI