|
| Drag&Drop image navigateur vers champ image WinDev |
| Iniciado por JLRob, 15,nov. 2017 17:23 - 16 respuestas |
| |
| | | |
|
| |
Miembro registrado 5 mensajes |
|
| Publicado el 15,noviembre 2017 - 17:23 |
Bonjour à tous, Je souhaite faire une copie directe d'une image dans mon navigateur vers un champ image d'une fenêtre WinDev pour illustrer rapidement une base d'articles. J'ai testé tous les exemples fournis dans WinDev. J'arrive à faire mon Drag&Drop du navigateur vers le bureau puis du bureau vers mon champ image mais en direct, je n'ai pas trouvé comment faire.. J'ai fait une recherche sur le forum dans les précédents sujets sans rien trouver non plus. Quelqu'un aurait-il une astuce à partager ? Merci d'avance jluc |
| |
| |
| | | |
|
| | |
| |
| Publicado el 25,junio 2019 - 07:23 |
Bonjour Jean-Luc,
As tu réussi à mettre en oeuvre un D&D d'une image d'un navigateur vers un champ Windev permettant de récupérer l'URL de l'image et donc de pouvoir l'afficher ?
Je n'ai pas l'impression qu'on ait beaucoup avancé sur le sujet depuis ta question et je n'arrive pas à avoir un retour sur ST sur la question.
Ca parait pourtant bête comme opération.
Le pire, c'est que sans rien faire, ça fonctionne en mode GO en glissant l'image sur un champ HTML, sans code quoi que ce soit pour le D&D, mais en lançant l'exe ... plus rien !
Merci pour ton retour. Fabien |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 11 mensajes |
|
| Publicado el 25,junio 2019 - 07:56 |
Bonjour Jean-Luc,
As-tu trouvé une solution à ton pb ? Je suis confronté à la même problématique, je voudrai pouvoir récupérer l'URL d'une image glissés sur un champ (n'importe lequel) de mon appli pour pouvoir travailler dessus ... mais à part passer par l'intégration lourde et fastidieuse d'un Chrominium dans mon appli, je ne vois pas de solution.
-- Cordialement, Fabien |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 5 mensajes |
|
| Publicado el 25,junio 2019 - 09:41 |
Salut Fabien, J'ai laissé tombé, et la question, et plus généralement le développement de logiciels... J'espère que tu auras plus de retour que moi de la part du forum. jl |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 11 mensajes |
|
| Publicado el 25,junio 2019 - 13:57 |
Pas vraiment pour l'instant, mais merci qd même pour le retour.
-- Cordialement, Fabien |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 310 mensajes |
|
| Publicado el 25,junio 2019 - 15:52 |
Bonjour, On peut faire un drop depuis n'importe quelle application externe comme ceci :
Créer une fenetre contenant un champ table nommé TableDrop, puis :
En declaration globale de la fenetre :
TableDrop..DndCible = dndProgrammé dataDrop est une chaîne DnDEvénement("SurLacherDD",TableDrop, dndLâcher) DnDEvénement("EnsurvolDD",TableDrop, dndSurvol) DnDEvénement("FinSUrvolDD",TableDrop, dndSortieChamp)
Puis créer les 3 Procedures
Procedure EnsurvolDD()
SI DnDDonnéeDisponible(CF_TEXT) = Vrai ALORS DnDAccepte(dndDéplacer) dataDrop= DnDRécupère(CF_TEXT) SINON DnDAccepte(dndInterdit) FIN
Procedure FinSurvolDD() dataDrop=""
Procedure surLacherDD() SI ChaîneOccurrence(dataDrop,"http",SansCasse) ALORS TableAjoute(TableDrop,dataDrop) FIN
Plus qu'à exécuter et dropper sur la table.
Bon dev |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 46 mensajes |
|
| Publicado el 25,junio 2019 - 17:21 |
Bonjour, Testé, ça fonctionne pas. Lors du survol de la fenêtre ou du champ table, le + ne s'affiche pas. problème ... |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 310 mensajes |
|
| Publicado el 25,junio 2019 - 18:09 |
Bonjour, Si le + n’apparaît pas c'est que la source n'est pas de type TEXT ou que la reprise de code est erronée...verifiez. Testé avec Chrome, IE et Opera sans problème...
Bon dev. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 11 mensajes |
|
| Publicado el 25,junio 2019 - 19:22 |
Bonsoir Samir,
Merci pour le retour, j'étais arrivé, depuis mon message, sur le même principe à récupérer l'URL des images. Je confirme donc que le principe fonctionne sur Chrome et Edge, par contre, pas avec Firefox ... étonnant, mais on fera avec.
Par contre, je butte sur un autre problème. Avec le CF_TEXT, on récupère dans le cas des images simples le src img ... ok, parfait. Si on prends par exemple les avatars dans ce fil de discussion par exemple, ça donne l'URL de l'image.
Par contre, si je glisse le logo PC Soft en haut de la page, qui lui est un lien de type a href, au lieu de me retourner l'URL de l'image qui est :
 , il me retourne la valeur du a href : https://www.pcsoft.fr/
A ta connaissance, y aurait-il un moyen de récupérer un peu plus d'info ? J'ai essayé à tâton avec les autres constantes CF_*, mais sans succès. Peut-être y aurait-il un moyen de récupérer un handle sur l'objet, l'image déplacée, avec un peu plus d'infos ? Mais en aveugle ça me semble compliqué.
Merci encore pour ton retour et si tu as une idée pour la suite, je pense qu'en plus de moi, ça risque d'intéresser du monde.
-- Cordialement, Fabien |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 46 mensajes |
|
| Publicado el 25,junio 2019 - 21:18 |
JLRob a écrit :
Je souhaite faire une copie directe d'une image dans mon navigateur vers un champ image d'une fenêtre WinDev pour illustrer rapidement une base d'articles. Quelqu'un aurait-il une astuce à partager ? Merci d'avance jluc
Avec Firefox, j'arrive à faire un drag and drop, et afficher directement l'image dans un champ Windev pas besoin de récupérer l'url, même le logo de PC Soft et les avatars s'affichent. MidouMensaje modificado, 25,junio 2019 - 21:23 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 11 mensajes |
|
| Publicado el 25,junio 2019 - 21:40 |
@midou23175, tu utilises quel type de champ de destination pour ton drag and drop vers Windev ? C'est bizarre ces comportements pas très constants.
Autre bizarrerie sur laquelle je suis tombé, mes tests précédents fonctionnaient aussi bien en mode Go (Test) qu'avec l'application compilée. Je teste donc l'intégration, assez simpliste dans une autre appli. Là ça fonctionne en mode Go, mais plus dans l'application compilée.
Quelqu'un aurait déjà rencontré le pb ?
-- Cordialement, Fabien |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 46 mensajes |
|
| Publicado el 25,junio 2019 - 23:37 |
@Fabien j'ai testé en mode go et avec application compilée (exécutable) sur les champs - champ image - champ table fichier avec colonne image ça fonctionne.
Au fait, j'utilise un code personnel, avec Evénément WM_DROPFILES, valable dans toute la fenêtre. Après le Drag and Drop, j'ai une procédure de traitement et là, je passe à la récupération de l'image, et éventuellement à son enregistrement. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 46 mensajes |
|
| Publicado el 26,junio 2019 - 01:13 |
Après test, voici le code que j'utilise pour faire le Drag and Drop
dans code fin initialisation fenêtre :
ExplorerAccepte(Vrai,"") Evénement("RecupFichiers","*.*",WM_DROPFILES)
dans code fermeture fenêtre
ExplorerAccepte(Faux)
procédure RecupFichiers
Procedure RecupFichiers()
NbFic est un entier=ExplorerRécupère(_EVE.wParam) sNomFic est une chaîne
i est un entier POUR i=1 _À_ NbFic sNomFic=ExplorerRécupère(_EVE.wParam,i) Copier_Image(sNomFic) FIN
PROCÉDURE Copier_Image
Procedure Copier_Image(sNomfichier)
NomImage est une chaîne="" NomImage=fNomLong(sNomfichier)
SI fFichierExiste(fRepExe()+"\Image\"+NomImage)=Faux ALORS fCopieFichier(sNomfichier,fRepExe()+"\Image\"+NomImage) FIN
IMG_MonImage = sNomfichier
Mensaje modificado, 26,junio 2019 - 01:34 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 11 mensajes |
|
| Publicado el 26,junio 2019 - 07:36 |
Merci pour le retour.
Concernant le mode Go qui fonctionne et le mode compilé qui ne fonctionne pas, j'ai trouvé d'où ça venait ... coup de bol ! Je détaille l'explication, ça pourra servir à ceux qui se retrouveront bloqués comme moi.
Je compilais mon appli avec l'option au niveau UAC : "Mon application utilisera les privilèges maximums de l'utilisateur courant" ... en la passant à "Mon application ne nécessite pas de privilèges particuliers", ça fonctionne. Ce qui risque de poser des problèmes par la suite, mais chaque chose en son temps. Peut-être que le ST expliquera pourquoi l'UAC bloque le DnD quand justement l'appli peut utiliser les privilèges max. Pas très logique tout ça !
Sinon, pour le coup ça fonctionne. J'avais effectivement utilisé la méthode que tu proposes dans un premier temps avant d'essayer le DnD programmé, mais dans un cas comme dans l'autre, pas moyen de récupérer les URL des images qui sont imbriquées avec un "a href".
Je reprends mon précédent exemple : Avec le CF_TEXT (ou ExplorerRécupère(_EVE.wParam,i)), on récupère dans le cas des images simples le "src img" ... ok, parfait. Si on prends par exemple les avatars dans ce fil de discussion par exemple, ça donne l'URL de l'image, du genre : "
 "
Par contre, si je glisse le logo PC Soft en haut à gauche de la page, qui lui est un lien de type a href, au lieu de me retourner l'URL de l'image qui est : "
 " il me retourne la valeur du a href : https://www.pcsoft.fr/
Comme tu m'avais dit que tu arrivais à récupérer les avatars (normal) ET le logo PC SOFT (c'est là que je bloque), ça m'intéresserai de savoir comment ? Merci !
-- Cordialement, Fabien |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 324 mensajes |
|
| Publicado el 26,junio 2019 - 09:05 |
Je souhaite faire une copie directe d'une image dans mon navigateur vers un champ image d'une fenêtre WinDev pour illustrer rapidement une base d'articles.
Je ne suis pas très sur de la légalité de la chose, même si les images sont dans google image, vous n'avez pas le droit de les copier et les ré-utiliser tel quel. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 46 mensajes |
|
| Publicado el 26,junio 2019 - 13:19 |
Bonjour Fabien, avec le code evénement WM_DROPFILES, pour récupérer le logo de PC Soft, j'ai 2 possibilités : je glisse le drag and drop sur le bureau ou bien je le dépose dans un champ image de windev et là je l'enregistre sur disque dur, ensuite je fais IMG_MonImage = image enregistré avec chemin Au fait Fabien, comment arrives-tu à récupérer l'URL d'une image glissé, sur un champ pour pouvoir travailler dessus ?Mensaje modificado, 26,junio 2019 - 13:29 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 11 mensajes |
|
| Publicado el 26,junio 2019 - 15:26 |
L'enregistrer localement n'est pas une option envisageable pour moi ... le but étant uniquement de récupérer l'URL de l'image pour permettre une analyse à posteriori. Dans les deux cas que tu cites, tu passes par un fichier local, avec ou sans manip intermédiaire en passant par le bureau, ça ne fonctionnera pas pour moi, j'ai besoin de l'URL d'origine du fichier.
Pour ma part, j'ai une procédure SurLâcher qui récupère simplement le CF_TEXT qui contient l'URL :
Procedure SurLâcher()
bufDonneesDrop est un Buffer DnDAccepte(dndCopier+dndDéplacer)
bufDonneesDrop = DnDRécupère(CF_TEXT)
SAI_Fichier_URL = bufDonneesDrop HTM_SansNom1 = bufDonneesDrop
Tu peux ensuite l'affecter à un champ HTM pour l'afficher.
Mais si tu glisses le logo PC Soft, c'est l'URL du site qui est récupérée, donc c'est le site qui sera affiché dans le champ HTM ... pas le logo !
D'où ma recherche d'un moyen de récupérer un peu plus d'info que la simple URL d'une image droppée ... sans succès pour l'instant.
-- Cordialement, Fabien |
| |
| |
| | | |
|
| | | | |
| | |
|