PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV Mobile 2024 → WIDGET et récupération de valeurs
WIDGET et récupération de valeurs
Iniciado por Alain, abr., 18 2021 7:58 PM - 9 respostas
Membro registado
65 mensagems
Publicado em abril, 18 2021 - 7:58 PM
Bonjour,

J'ai créé une fenêtre de type Widget nommée FEN_DAM. Elle contient notamment un bouton "MODIFIER"

Lorsque l'on clique sur le bouton MODIFIER :

WidgetLanceAppli(Fen_Liste)

Je coche dans cette liste 2 éléments puis OK.

Je mémorise les 2 éléments cochés dans 2 variables

Je ferme la fenêtre Fen_Liste mais je n'arrive pas à récupérer les 2 valeurs afin d'effectuer 2 modifications visuelles dans le WIDGET.

Je ne sais pas trouver un événement ou un code me permettant de lire les 2 variables afin de changer 2 textes.

J'avais auparavant écrit un code du genre
FEN_DAM..Bouton1..libellé = vDam1
FEN_DAM..Bouton2..libellé = vDam2
ferme()

provoque une erreur : La fenêtre FEN_DAM est inconnue

Merci de votre aide

Icho
Membro registado
65 mensagems
Publicado em abril, 18 2021 - 8:00 PM
Il faut lire :

FEN_DAM.Bouton1..libellé = vDam1
FEN_DAM.Bouton2..libellé = vDam2

Mais le problème reste le même
Membro registado
3.311 mensagems
Popularité : +93 (137 votes)
Publicado em abril, 18 2021 - 8:46 PM
Le mieux, tu mets tes variables comme globale au projet.
Membro registado
3.311 mensagems
Popularité : +93 (137 votes)
Publicado em abril, 18 2021 - 8:49 PM
J'ai oublié, qu'il faut bien sûr forcer le rafraichissement du widget
Avec widgetaffiche
Membro registado
3.311 mensagems
Popularité : +93 (137 votes)
Publicado em abril, 18 2021 - 9:01 PM
Désolé, encore une précision car tu n'as pas préciser si c'était pour Android ou iOS
WidgetLanceAppli n'est valide que pour Android
Sous iOS, il faut utiliser a la place WidgetProcédure (nouveauté 26)
Membro registado
65 mensagems
Publicado em abril, 19 2021 - 7:50 AM
Bonjour Popoy,

Merci de te préoccuper de mon souci. et merci pour l'astuce IOS cela servira plus tard. Voici quelques précisions.

Mon projet est pour Android.

Mon projet contient 2 fenêtres : 1 fenêtre Widget nommée FEN_DAM et une fenêtre "normale" nommée FEN_LISTE

Quand je lance l'appli, je suis sur la fenêtre widget (comme par exemple un widget météo)

Je n'ai trouvé qu'un moyen d'ouvrir FEN_LISTE, c'est par WidgetLanceAppli car Ouvre ne fonctionne pas. FEN_LISTE permet à l'utilisateur de choisir 2 éléments dans une liste. et quand il cliquera OK, ces 2 éléments doivent s'afficher sur le Widget. Donc il faudrait aussi les sauver.

Je ne peux pas écrire widgetaffiche depuis le code de FEN_LISTE. La commande n'est pas reconnue car elle ne fonctionne que depuis le code d'une fenêtre Widget.

Quand je sors de FEN_LISTE je ne sais pas comment lancer un code qui remplacerait le texte du Widget.

Mes 2 variables sont bien en variables globales. Mais je n'arrive pas à les utiliser car il me faudrait un événement du genre "quand la fenêtre widget reprend le focus".


FEN_DAM.Bouton1..libellé = vDam1 n'est pas reconnu depuis le code de FEN_LISTE

Merci beaucoup
Membro registado
3.311 mensagems
Popularité : +93 (137 votes)
Publicado em abril, 19 2021 - 8:52 AM
Le mieux c'est de regarder l'exemple
LST n°94 : Android Note de frais
WINDEV Mobile
Cet exemple montre comment intégrer un widget à une application Android.
Il ajoute un widget, affichant la synthèse des remboursements, à l'application "Android Note de frais".
Le widget est la fenêtre FEN_Widget.

Pour info J'ai regardé mon propre widget
Je passe par l'enregistrement de paramètres dans la base de données
Widgetaffiche est dans l'évènement rafraîchissement du widget
Il faut parfois attendre 30 minutes pour que le widget se rafraichisse
(Case a cocher dans les propriétés de la fenêtre)

A l'initialisation du projet
Je met un enmodewidget qui lit la base de données
Mon wdiget lui même lit cette même base
Membro registado
3.311 mensagems
Popularité : +93 (137 votes)
Publicado em abril, 19 2021 - 9:14 AM
Pour info, le rafraichissement du widget ce fait automatiquement après le clic sur le bouton du widget
(Informations dans l'aide)
Membro registado
65 mensagems
Publicado em abril, 19 2021 - 11:17 AM
Merci pour ces infos.

Je n'ai pas accès aux LST.

Si le choix était fait dans la fenêtre du Widget, ce serait simple de rafraichir le widget (comme dans ton cas)

Le problème est qu'étant dans une autre fenêtre, je ne sais plus reprendre la main pour actualiser des éléments du Widget. et impossible d'attendre 30 min car il faut que les infos s'affichent lorsqu'elle sont demandées ^^

Je ne suis même pas en mesure de faire un executetraitement(FEN_DAM, trtinit) car le fenêtre FEN_DAM n'est pas reconnue depuis FEN_LISTE.

Je vais donc refaire des essais en espérant trouver
Membro registado
65 mensagems
Publicado em abril, 19 2021 - 11:27 AM
Après réflexion je vais faire sans la seconde fenêtre et tenter de tout faire dans la fenêtre Widget, donc sans liste.

Merci Popoy pour ces pistes. D'ailleurs je vais probablement sauver les données dans une base, à moins que je puisse utiliser les iniecrit et inilit.

Merci encore pour tes réponses.