PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → [WD10] Tests de nouveautés
[WD10] Tests de nouveautés
Débuté par _s_p_a_m_ted.o, 13 déc. 2005 21:15 - Aucune réponse
Posté le 13 décembre 2005 - 21:15
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é.