Salut,
J'ai testé pour vous les zones répétées en Windev 10, ainsi que les vignettes des JGEG et les infos exifs.
Bilan : Tout à marché, mieux encore que ce que je ne l'espérais ! Surtout pour les zones répétées, où mieux qu'en Webdev 7/9, il n'est pas nécéssaire de créer des attibuts. Du coup la manipulation devient ausi facile que celle d'une table.
Pour ceux que cela intérresse voici une partie du code de mon test : (Le but étant d'afficher dans une zone répétée les images d'un répertoire, avec une présentation "Améliorée" par rapport aux "ListeView")
//Répertoire pour lequel je veux visualiser la liste de images sRepertoireàVisualiser est une chaîne=ComplèteRep(SysRep(srMesImages)) //Type d'images supprotées par WinDev sExtentionsImages est une chaîne=ExtraitChaîne(ExtraitChaîne (fFiltreImage(),1,RC),2,TAB)
//mémorisation du répertoire affiché gsRepertoireAfficher=sRepertoireàVisualiser
//Vide la zone répétée //NOUVEAUTE : Utilisation d'une ZONEREPETEE en WinDev ZoneRépétéeSupprimeTout(ZR_IMAGES)
sUneExtention est une chaîne //Un type d'image gérée par WinDev sUneExtention=ExtraitChaîne(sExtentionsImages,rangPremier,";") TANTQUE sUneExtention<>EOT sUneImage est une chaîne //première image du type en cours sUneImage=fRep(sRepertoireàVisualiser+sUneExtention,frFichier) TANTQUE sUneImage<>"" //Ajout dans la zone répétée //création d'une "cellule" vide dans la zone répétée nIndiceLigneZR est un entier //NOUVEAUTE : Utilisation d'une ZONEREPETEE en WinDev nIndiceLigneZR=ZoneRépétéeAjouteLigne(ZR_IMAGES) //Affectation des champs de la zone répétée //L'image dans un champ image //avec la vignette si elle existe bufImage est un Buffer //NOUVEAUTE : Récupération de la "VIGNETTE" contenues dans certaines formats d'images (+ rapide) bufImage=ImageInfoValeur (sRepertoireàVisualiser+sUneImage,imgVignette) //NOUVEAUTE : Récupération d'informaisons "EXIFS" contenus dans certaines images sListeInfoExifsAAfficher est une chaîne="" sInfoExifs est une chaîne sInfoExifs=ImageInfoValeur (sRepertoireàVisualiser+sUneImage,imgMarqueAppareil) SI sInfoExifs<>"" ALORS sListeInfoExifsAAfficher+="Marque de l'appareil : "+sInfoExifs+RC sInfoExifs=ImageInfoValeur (sRepertoireàVisualiser+sUneImage,imgDate) SI sInfoExifs<>"" ALORS sListeInfoExifsAAfficher+="Date de la photo : "+sInfoExifs+RC //Affectation du champ de la ZR ZR_IMAGES [nIndiceLigneZR].SAI_INFOEXIFS=sListeInfoExifsAAfficher ImageInfoFerme(sRepertoireàVisualiser+sUneImage) //NOUVEAUTE : Affectation des champs de la zone répétée (sans attributs!!) SI bufImage="" ALORS //image complète (pas de vignette pour cette image ZR_IMAGES [nIndiceLigneZR].IMG_PHOTO=sRepertoireàVisualiser+sUneImage SINON //vignette de l'image ZR_IMAGES[nIndiceLigneZR].IMG_PHOTO=bufImage FIN //NOUVEAUTE : Affectation des champs de la zone répétée (sans attributs) //Libellé du bouton (dans le bouton je fais un LanceAppliAssociée(gsRepertoireAfficher+MoiMême..libellé)) ZR_IMAGES[nIndiceLigneZR].BTN_AFFICHER..Libellé=sUneImage //pour que l'affichage se fasse au fur et à mesure MultitâcheRepeint() //image suivante du type en cours sUneImage=fRep("") FIN //Type d'image suivant gérée par Windev sUneExtention=ExtraitChaîne(sExtentionsImages,rangSuivant,";") FIN
-- En esperant t'avoir aidé. |