|
Drag&Drop image navigateur vers champ image WinDev |
Iniciado por JLRob, nov., 15 2017 5:23 PM - 16 respostas |
| |
| | | |
|
| |
Membro registado 5 mensagems |
|
Publicado em novembro, 15 2017 - 5:23 PM |
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 em junho, 25 2019 - 7:23 AM |
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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 11 mensagems |
|
Publicado em junho, 25 2019 - 7:56 AM |
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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 5 mensagems |
|
Publicado em junho, 25 2019 - 9:41 AM |
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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 11 mensagems |
|
Publicado em junho, 25 2019 - 1:57 PM |
Pas vraiment pour l'instant, mais merci qd même pour le retour.
-- Cordialement, Fabien |
| |
| |
| | | |
|
| | |
| |
Membro registado 309 mensagems Popularité : +31 (37 votes) |
|
Publicado em junho, 25 2019 - 3:52 PM |
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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 46 mensagems Popularité : -1 (9 votes) |
|
Publicado em junho, 25 2019 - 5:21 PM |
Bonjour, Testé, ça fonctionne pas. Lors du survol de la fenêtre ou du champ table, le + ne s'affiche pas. problème ... |
| |
| |
| | | |
|
| | |
| |
Membro registado 309 mensagems Popularité : +31 (37 votes) |
|
Publicado em junho, 25 2019 - 6:09 PM |
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. |
| |
| |
| | | |
|
| | |
| |
Membro registado 11 mensagems |
|
Publicado em junho, 25 2019 - 7:22 PM |
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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 46 mensagems Popularité : -1 (9 votes) |
|
Publicado em junho, 25 2019 - 9:18 PM |
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. MidouMensagem modificada, junho, 25 2019 - 9:23 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 11 mensagems |
|
Publicado em junho, 25 2019 - 9:40 PM |
@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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 46 mensagems Popularité : -1 (9 votes) |
|
Publicado em junho, 25 2019 - 11:37 PM |
@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. |
| |
| |
| | | |
|
| | |
| |
Membro registado 46 mensagems Popularité : -1 (9 votes) |
|
Publicado em junho, 26 2019 - 1:13 AM |
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
Mensagem modificada, junho, 26 2019 - 1:34 AM |
| |
| |
| | | |
|
| | |
| |
Membro registado 11 mensagems |
|
Publicado em junho, 26 2019 - 7:36 AM |
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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 324 mensagems Popularité : +21 (51 votes) |
|
Publicado em junho, 26 2019 - 9:05 AM |
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. |
| |
| |
| | | |
|
| | |
| |
Membro registado 46 mensagems Popularité : -1 (9 votes) |
|
Publicado em junho, 26 2019 - 1:19 PM |
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 ?Mensagem modificada, junho, 26 2019 - 1:29 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 11 mensagems |
|
Publicado em junho, 26 2019 - 3:26 PM |
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 |
| |
| |
| | | |
|
| | | | |
| | |
|