PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 22 → Attribuer un lien web à une image dans une ZR
Attribuer un lien web à une image dans une ZR
Débuté par xdeslandes, 08 mar. 2017 16:24 - 18 réponses
Membre enregistré
112 messages
Popularité : +1 (1 vote)
Posté le 08 mars 2017 - 16:24
Bonjour,

J'ai créé une ZR pour faire une liste de liens utiles (à partir d'enregistrements dans une BDD HFSQL).
Chaque ligne de la ZR contient un LIB "texte du lien" et une IMG (icone "lien http")

L'idée est de permettre à l'utilisateur de cliquer (toucher) l'image et qu'il soit redirigé vers le navigateur du terminal mobile à l'adresse web qui va bien.

Comment dois-je m'y prendre ?

--
Merci !
Xavier.
Posté le 08 mars 2017 - 18:26
Bonjour Xavier

lanceappliassociée ?

Cordialement


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

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Le 3/8/2017 à 10:24 AM, xdeslandes a écrit :
Bonjour,

J'ai créé une ZR pour faire une liste de liens utiles (à partir
d'enregistrements dans une BDD HFSQL).
Chaque ligne de la ZR contient un LIB "texte du lien" et une IMG (icone
"lien http")

L'idée est de permettre à l'utilisateur de cliquer (toucher) l'image et
qu'il soit redirigé vers le navigateur du terminal mobile à l'adresse
web qui va bien.

Comment dois-je m'y prendre ?

--
Merci !
Xavier.
Membre enregistré
112 messages
Popularité : +1 (1 vote)
Posté le 09 mars 2017 - 10:03
J'y ai bien pensé (NavigateurLanceAppli), mais comment associer cette action à un clic sur une image dans la boucle qui remplit la ZR ?

--
Merci !
Xavier.
Membre enregistré
112 messages
Popularité : +1 (1 vote)
Posté le 15 mars 2017 - 09:45
Il n'y a pas de code genre:
ZR_reglementation[i].IMG_lienWeb..traitement = NavigateurLanceAppli("http://monurlpersonnalisee")

??
NB: Je suis sous WM20.

--
Merci !
Xavier.
Message modifié, 15 mars 2017 - 09:45
Membre enregistré
114 messages
Posté le 15 mars 2017 - 10:15
Bonjour,

Ton image dans ta ZR, elle est dans un champ, et l'accès au "programmage" de ce champ est possible par "Clic droit/Code" ou F2
et là tu peux coder ton NavigateurLanceAppli() dans le traitement "Clic sur IMG_xxx (ZR_yyy)"

--
Cdlt
JPhD
Message modifié, 15 mars 2017 - 10:16
Membre enregistré
112 messages
Popularité : +1 (1 vote)
Posté le 15 mars 2017 - 11:16
Merci JPhD,
Mais, même si clicdroit est proposé dans le menu contextuel de WM, la ligne
ZR_reglementation[i].IMG_lienWeb..ClicDroit = NavigateurLanceAppli("http://www.google.fr")

provoque une erreur:
Erreur :La propriété <ClicDroit> n'a pas encore d'équivalent dans le framework WL/Android.

Comment faire ?

--
Merci !
Xavier.
Message modifié, 15 mars 2017 - 11:16
Membre enregistré
114 messages
Posté le 15 mars 2017 - 11:37
Euh... je ne comprends pas ce que tu fais !

En mode conception, avec ta souris, tu te positionnes sur ton champ image,
là tu fais un "clic droit", le menu conceptuel WM propre à ton champ s'ouvre,
là tu cliques sur "Code"
...et tu te retrouves alors en mode "programmage" pour ton champ image...

--
Cdlt
JPhD
Message modifié, 15 mars 2017 - 11:38
Membre enregistré
112 messages
Popularité : +1 (1 vote)
Posté le 15 mars 2017 - 11:40
Finalement, ma problématique se résume encore plus simplement:
Comment faire un lien dans une fenêtre (sur un LIB ou un IMG) par programmation ?

--
Merci !
Xavier.
Membre enregistré
114 messages
Posté le 15 mars 2017 - 11:57
Alors essayes donc

ZR_reglementation[i].IMG_lienWeb..Traitement[trtClic] = NavigateurLanceAppli("http://www.google.fr")


https://doc.pcsoft.fr/fr-FR/?1000020878&name=traitement_propriete&product=WM

--
Cdlt
JPhD
Posté le 15 mars 2017 - 12:32
Comme je le dis depuis le début, dans le code du bouton, image ou autre,
il faut faire un lanceappliassocie de l'url...

OU est stockée l'ul dépend de toi. Dans une ZR, c'est souvent un champ
qui est invisible, mais rempli en même temps que le reste

Le 3/15/2017 à 5:40 AM, xdeslandes a écrit :
Finalement, ma problématique se résume encore plus simplement:
Comment faire un lien dans une fenêtre (sur un LIB ou un IMG) par
programmation ?

--
Merci !
Xavier.
Membre enregistré
112 messages
Popularité : +1 (1 vote)
Posté le 15 mars 2017 - 14:31
Merci Fabrice.
Dans le code de l'image IMG_lienWeb, j'ai mis, au traitement "clic sur IMG_lienWeb":
NavigateurLanceAppli("http://www.google.fr")


Mais
1- rien ne se passe dans le Go
2- le lien est généré dynamiquement (stocké en base HFSQL locale): comme attribuer le lien de la bonne ligne ?

--
Merci !
Xavier.
Membre enregistré
112 messages
Popularité : +1 (1 vote)
Posté le 03 avril 2017 - 16:40
Je ne sais toujours pas comment écrire un lien dans une appli Android !
Comme je le disais précédemment, NavigateurLanceAppli ne semble pas fonctionner. De plus, j'ai besoin de récupérer le lien dans une table HFSQL et l'attribuer à un champ IMG, mais je ne sais pas comment... Help.

--
Merci !
Xavier.
Membre enregistré
519 messages
Popularité : +1 (1 vote)
Posté le 03 avril 2017 - 17:11
Bonjour,

Si NavigateurLanceAppli ne fonctionne pas, utilise LanceAppliAssocié.

Par ailleurs, il suffit d'ajouter un champ à ta ZR lequel sera rempli exactement de la même façon que tes autres champs, avec tes URL.

Ensuite dans le clic de ton image, tu mets un code du genre LanceAppliAssocie(TaZR[TaZR]..AttTonAttributCachéNonAffichéAvecTonURL)

C'est du tout classique...

Cdlt - Eric.

--
Eric DELATTRE
http://www.yoosite.fr
Membre enregistré
112 messages
Popularité : +1 (1 vote)
Posté le 04 avril 2017 - 10:09
OK. J'essaie, mais on me dit "NavigateurLanceAppli n'est pas disponible en mode navigateur. Je te tiens au courant. Merci encore.

--
Merci !
Xavier.
Membre enregistré
112 messages
Popularité : +1 (1 vote)
Posté le 04 avril 2017 - 11:21
Super, cela fonctionne.
Ce que j'ai fait:
Dans ma ZR, j'ai mis un champ LIB_nom, un champ BTN_lien et j'ai créé un attribut ATT_lien dans "description"
Dans le code d'initialisation de la fenêtre, je remplis la ZR avec ça dans la boucle de lecture de ma requête:
// libellé du lien
ZR_reglementation[i].LIB_nomReglementation = REQ_chercheReglementation.nom_reglem
// lien web
ZR_reglementation[i].ATT_lien = REQ_chercheReglementation.lien_reglem


Et dans le code du champ BTN_lien, j'ai mis "aucune action prédéfinie" et le code suivant:

// Exécuter l'adresse passée en paramètre
NavigateurLanceAppli(ZR_reglementation.ATT_lien)
SI ErreurDétectée ALORS
Erreur(ErreurInfo())
FIN


Résolu ! Et merci à tous et à toutes.

--
Merci !
Xavier.
Membre enregistré
519 messages
Popularité : +1 (1 vote)
Posté le 04 avril 2017 - 12:23
Bonjour,

En précision je dirais que - et même si cela fonctionne - qu'il est TOUJOURS préférable d'utiliser les attributs.

je mettrais
ZR_reglementation[i].ATTnomReglementation = REQ_chercheReglementation.nom_reglem
plutôt que
ZR_reglementation[i].LIB_nomReglementation = REQ_chercheReglementation.nom_reglem

Cdlt -Eric.

--
Eric DELATTRE
http://www.yoosite.fr
Membre enregistré
112 messages
Popularité : +1 (1 vote)
Posté le 04 avril 2017 - 14:26
Oui, mais un attribut n'est pas toujours affiché à l'écran. Comment faire pour qu'il soit affiché ?

--
Merci !
Xavier.
Membre enregistré
519 messages
Popularité : +1 (1 vote)
Posté le 04 avril 2017 - 15:46
Bonjour Xavier,

L'attribut est rattaché - dans la description - à un champ lib, sai, .... C'est le champ qui est positionné dans la ZR pour l'affichage.

Une suggestion serait de reprendre toute la partie aide et formation sur les Zone Répétées. Ce sont les fondamentaux.

Cdlt - Eric.

--
Eric DELATTRE
http://www.yoosite.fr
Membre enregistré
112 messages
Popularité : +1 (1 vote)
Posté le 04 avril 2017 - 16:15
OK. Merci.

--
Merci !
Xavier.