PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → vraiment besoin d'une aide
vraiment besoin d'une aide
Débuté par DF, 09 aoû. 2019 14:32 - 22 réponses
Membre enregistré
23 messages
Posté le 09 août 2019 - 14:32
bonjour a tous,
je pose mon problème je ne sais pas ci vous allez comprendre lol

j'ai une bdd avec 14 photo et 14 nom
suivant le nom il peut y avoir 1 ou 2 ou 3 ou 4 ou 5 ou 6 ou 7 ou 8 par nom
mon projet et de mettre tous cela dans une ZR ça fonctionne le soucis et que les photos sont vachement éloigné pas très esthétique je voudrait savoir oh grand génie de windev comment faire pour rapprocher ses photos
j'ai essayé liste image qui est parfait mais en ZR pas top je voudrais savoir ci il est possible de mettre les photos de la liste image sur un champ image que j' enregistrerai sur une bdd définitive et appellerai le nom + la photo pour ma ZR
COMMENT fait ton ? Merci de votre aide
cordialement
david

--
DF
Membre enregistré
974 messages
Posté le 09 août 2019 - 17:38
Bonjour,
Peut être en créant une mosaïque :

1-Tu crées ta ZR avec les données nécessaires et 1 seule image.
2-Avec ChampClone, tu clone ton image et tu la place à côte de ton image d'origine (https://doc.pcsoft.fr/?3025017)
3-Tu place le clone suivant a côté du clone nuvellement créé etc jusque racine(nbImages)
4-Tu "passe à la ligne" ie le clone vient sous l'image d'origine et ce jusqu'à la fin...

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
974 messages
Posté le 10 août 2019 - 14:36
Une autre solution, peut être un peu plus simple à mettre en oeuvre, est de conserver ta liste image, et decréer de vignettes au niveau de ton analyse (https://doc.pcsoft.fr/fr-FR/?3044348&name=vignettes_hfsql.) Un événement survol de l'imagepourrait éventuellement ouvrir une popup contenant l'image à la taille réelle.

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
23 messages
Posté le 10 août 2019 - 19:05
bonjour Voroltinquo,
merci de ton aide et mille excuses pour te répondre aussi tardivement
je mes une image de de ce que je veux exactement croie moi c'est un casse tete




--
DF
Membre enregistré
586 messages
Posté le 11 août 2019 - 02:31
Bonjour,

En v24,Tu met un champs disposition dans ta zr, ensuite tu creer autant de case dans ton Champs disposition que d'image, et tu cache les image que tu souhaites,

En v23 et antérieure, tu mets les images côte à côte, et tu joue avec les coordonnés x en fonction des image visible ou non, fastidieux mais faisable

Tu aura exactement le rendu que tu souhaites

Jordan
Membre enregistré
23 messages
Posté le 11 août 2019 - 16:25
Bonjour Jordan,
merci pour ton aide
je pose une autre image tu va mieux comprendre
je me suis trompé dans l'énoncé j'ai pas 14 noms j'ai 14 images
et les noms sont a l'infini





--
DF
Membre enregistré
23 messages
Posté le 11 août 2019 - 17:44
Bonjour Jordan,
merci pour ton aide
je pose une autre image tu va mieux comprendre
je me suis trompé dans l'énoncé j'ai pas 14 noms j'ai 14 images
et les noms sont a l'infini




--
DF
Membre enregistré
974 messages
Posté le 12 août 2019 - 10:36
Avec une copie écran de la maquette, c'est un peu plus clair.
Avant tout, en toute logique, ton analyse devrait ressembler à ça



La partie qui nous intéresse est la partie encadrée

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
23 messages
Posté le 12 août 2019 - 17:46
bonjour Voroltinquo le plus simple serai d'enregistrer les img de la liste img sur la bdd non?
GENRE
XX.IMAGE =listeimage
HAJOUTE
APRES UN HLIT RECHERCHE QUI VA SUR MON IMG DE MA ZR

--
DF
Membre enregistré
974 messages
Posté le 12 août 2019 - 20:34
La liste image est bien remplie par des données, la table ICONE chez moi.
Ensuite, nous cherchons la manière de traiter ces données.
A priori, tu veux adapter ton analyse à ton interface et pas le contraire.

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
586 messages
Posté le 12 août 2019 - 21:36
Bonjour,

A lire avec des pincettes j'ecris ma pensée sur un coin de canapé ;)

tu ajoute 14 attribut ATT_IMAGE_X à ta zone repetée ATT_IMAGE_1 jusqu'a ATT_IMAGE_14 que tu relie à tes image de ta zr

tu créer un tableau d'image

tu boucle sur ta zr, a chaque occurence tu check les image présente dans ta bdd

fin d'initialisation de ta zr

pour i = 1 _A_ zr..occurence
tableauimage est un tableau d'Image
HLitRecherchePremier(bdd,idbdd,zr[i].att_id)
SI HTrouve(bdd) ALORS
pour j = 1 _A_ 14
SI {"bdd.image" + j,indRubrique}..valeur <> "" ALORS
TableauAjoute(tableauimage,{"bdd.image" + j,indRubrique}..valeur)
FIN
FIN
pour l = 1 _A_ tableauimage..occurence
{"zr["+i+"].att_image_" + l,indchamps} = tableauimage[l]
FIN
FIN



Il faut que tes rubriques image de ta bdd soit indicé exemple image1, image2, etc,
Ta zr doit avoir un attribut ID

En gros c'est ton tableau d'image qui rempli ta zr et colle les image les une sur les autre à chaque occurence

libre à toi d'adapter le code, moi je le ferai comme ca, sans champs disposition

Jordan
Membre enregistré
974 messages
Posté le 13 août 2019 - 06:22
Je me suis orienté vers l'affichage des icônes (images) dans un champ table ... horizontale
La création du champ est classique, il suffit de penser à masque le titre de la ligne dans la partie "Style" de la description (Élément :titre de colonne/Libellé : Sans.)

1-Récupération des icônes associées à une recette (REQ_Icones_Recette) :
SELECT
Icône.ImgIcone AS Icône
FROM
Icône,
Recette_Icone
WHERE
Icône.PK_Icone = Recette_Icone.FK_Icone
AND
(
Recette_Icone.FK_Recette = {pRecette}
)

2-Initialisation du champ table :
REQ_Icones_Recette.pRecette=Recette.PK_Recette
HExécuteRequête(REQ_Icones_Recette)
POUR TOUT REQ_Icones_Recette
TableAjouteColonne(TABLE_Recette_Icone,REQ_Icones_Recette.Icone)
FIN

Il suffit maintenant de synchroniser les données du champ Tables avec la ligne affichée
3-"Affichage d'une ligne de la ZR"
TableAffiche(TABLE_Recette_Icone,taInit)


L'utilisateur pourra éventuellement ajouter de icônes si l'on inclut le traitement "bouton gauche enfoncé" au niveau du code du champ table
--
Il y a peut être plus simple, mais, ça tourne
Message modifié, 13 août 2019 - 06:27
Membre enregistré
23 messages
Posté le 14 août 2019 - 16:11
bonjour Voroltinquo , Jordan mes deux lueur d’espoir
je vais vous donner mon code et vous me dirai
1er temps j’enregistre mon plat et ses allergènes avec sa catégorie (entrée dessert viande, poisson etc..)

EcranVersFichier()
HAjoute(Nom_allergenes_allergenes)
ZoneRépétéeAffiche(ZR_List_image)
RAZ(Vrai)

VOILA ET APRES IL M AFFICHE BIEN LES IMAGES LE NOM ET LES CATEGORIES MAIS JE VOUDRAIS RAPROCHER LES IMG TOUT SIMPLEMENTimage,NOM,SAI_plat_enregistrer)
SI HTrouve()=Vrai ALORS
SI SAI_plat_enregistrer..ValeurAffichée=list_image.NOM ALORS
Info(SAI_plat_enregistrer..ValeurAffichée+" est déjà dans la base de données !")
SAI_plat_enregistrer=""
RETOUR
FIN
FIN

// 14 FOIS COMME CA IMG_1, img_2 ect..

SI BTN_1..Enfoncé=Vrai ALORS
list_image.A1=IMG_1
FIN
SI BTN_2..Enfoncé=Vrai ALORS
list_image.A1=IMG_2
FIN


EcranVersFichier()
HAjoute(list_image)

Info(SAI_plat_enregistrer+" a bien été ajouté à la base de données")
GR_allergene..Enfoncé=Faux
RAZ(Vrai)




CODE de RECHERCHE de MON PLAT AVEC SES ALLERGENES

HLitRecherche(list_image,NOM,SAI_SansNom1)
SI HTrouve()=Vrai ALORS
Nom_allergenes_allergenes.CAT=list_image.CAT
Nom_allergenes_allergenes.NOM=list_image.NOM
FIN

SI list_image.A1>"" ALORS
Nom_allergenes_allergenes.A1=IMG_1
FIN
SI list_image.A2>"" ALORS
Nom_allergenes_allergenes.A2=IMG_2
FIN


SI list_image.A1="" ALORS
Nom_allergenes_allergenes.A1=""
FIN
SI list_image.A2="" ALORS
Nom_allergenes_allergenes.A2=""
FIN
//14FOIS EN TOUT

EcranVersFichier()
HAjoute(Nom_allergenes_allergenes)
ZoneRépétéeAffiche(ZR_List_image)
RAZ(Vrai)



VOILA ET APRES IL M AFFICHE BIEN LES IMAGES LE NOM ET LES CATEGORIES MAIS JE VOUDRAIS RAPROCHER LES IMG TOUT SIMPLEMENT

--
DF
Membre enregistré
974 messages
Posté le 14 août 2019 - 16:28
Si j'ai bien compris, tu as toutes les images dans un plat et ce .pour chaque plat.
Que se passe-t-il si on découvre un 15° allergène ? Tu est obligé de modifier tout ton code. Sant sompter que ton analyse n'est pas normalisée. Mais la normalisation a été faite pour éviter ce cas de figure.
Nous sommes ici dans la même configuration qu'une commande. Les lignes de commande et la commande sont séparés.
Il faut déjà revoir ton analyse.

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
23 messages
Posté le 14 août 2019 - 16:33
bonjour Voroltinquo , Jordan mes deux lueur d’espoir
je vais vous donner mon code et vous me dirai
1er temps j’enregistre mon plat et ses allergènes avec sa catégorie (entrée dessert viande, poisson etc..)
SI SAI_plat_enregistrer="" ALORS
Info("Vous devez renseigner le nom,du plat !")
RETOUR
FIN
SI SAI_Cat_enregistrer="" ALORS
Info("Vous devez renseigner la catégorie du plat !")
RETOUR
FIN
HLitRecherche(list_image,NOM,SAI_plat_enregistrer)
SI HTrouve()=Vrai ALORS
SI SAI_plat_enregistrer..ValeurAffichée=list_image.NOM ALORS
Info(SAI_plat_enregistrer..ValeurAffichée+" est déjà dans la base de données !")
SAI_plat_enregistrer=""
RETOUR
FIN
FIN
list_image.CAT=SAI_cat1
list_image.NOM=SAI_nom1
SI BTN_1..Enfoncé=Vrai ALORS
list_image.A1=IMG_1
FIN
SI BTN_2..Enfoncé=Vrai ALORS
list_image.A2=IMG_2
Nom_allergenes_allergenes.A2=IMG_2
FIN
EcranVersFichier()
HAjoute(list_image)

Info(SAI_plat_enregistrer+" a bien été ajouté à la base de données")
GR_allergene..Enfoncé=Faux
RAZ(Vrai)
// 14 FOIS COMME CA IMG_1, img_2 ect..



// CODE de RECHERCHE de MON PLAT AVEC SES ALLERGENES

HLitRecherche(list_image,NOM,SAI_SansNom1)
SIHTrouve()=VraiALORS
Nom_allergenes_allergenes.CAT=list_image.CAT
Nom_allergenes_allergenes.NOM=list_image.NOM
FIN

SIlist_image.A1>""ALORS
Nom_allergenes_allergenes.A1=IMG_1
FIN
SIlist_image.A2>""ALORS
Nom_allergenes_allergenes.A2=IMG_2
FIN


SIlist_image.A1=""ALORS
Nom_allergenes_allergenes.A1=""
FIN
SIlist_image.A2=""ALORS
Nom_allergenes_allergenes.A2=""
FIN
//14FOIS EN TOUT

EcranVersFichier()
HAjoute(Nom_allergenes_allergenes)
ZoneRépétéeAffiche(ZR_List_image)
RAZ(Vrai)


VOILA ET APRES IL M AFFICHE BIEN LES IMAGES LE NOM ET LES CATEGORIES MAIS JE VOUDRAIS RAPROCHER LES IMG TOUT SIMPLEMENT

--
DF
Membre enregistré
23 messages
Posté le 14 août 2019 - 16:37
non je nest pas toutes les img dans un plats
si il ya un 15 eme allergenes je rajoute une img de plus et modifie mon analyse

--
DF
Membre enregistré
974 messages
Posté le 14 août 2019 - 16:54
Et les code associés ...
Image1 et image14, c'est la même chose au point de vue analytique donc ça ne doit apparaître qu'une fois.
C'est de B.A. BA des bases de données relationnelles.
Revois un peu tes cours, en particulier la partie normalisation.

--
Il y a peut être plus simple, mais, ça tourne
Message modifié, 14 août 2019 - 17:01
Membre enregistré
23 messages
Posté le 14 août 2019 - 17:29
appel moi je te dirai car ca devient chiant 06 22 92 39 57

--
DF
Posté le 14 août 2019 - 19:09
Voroltinquo, il a déjà une quarantaine d'élèves sur ce forum.
S'il se met à les appeler un par un, il va craquer.
Membre enregistré
586 messages
Posté le 15 août 2019 - 14:12
Voroltinquo a écrit :
Et les code associés ...
Image1 et image14, c'est la même chose au point de vue analytique donc ça ne doit apparaître qu'une fois.
C'est de B.A. BA des bases de données relationnelles.
Revois un peu tes cours, en particulier la partie normalisation.

--
Il y a peut être plus simple, mais, ça tourne
Message modifié, 14 août 2019 - 17:01


Tu parles à qui ?
Membre enregistré
974 messages
Posté le 15 août 2019 - 18:09
A DF, c'est lui qui est sensé avoir fait une analyse.

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
23 messages
Posté le 17 août 2019 - 10:47
Bonjour a tous je vous remercie de votre aide je vais essayé de me débrouillé tout seul a l'avenir
ma question de départ était pourtant simple
peut on enregistrer une liste image contenant des images sur une bdd et comment ?
Bonne continuation a vous au plaisir
Membre enregistré
974 messages
Posté le 17 août 2019 - 12:39
La réponse t'a été donnée.
Tu ne veux simplement pas admettre que ton analyse est erronée et que ce n'est pas l'analyse qui s'adapte à l'IHM, mais le contraire.
On ne modifie son analyse que dans le cas d'un changement de cahier des charges au niveau des fonctionnalité.

Relis tes cours sur les SGBD
--
Il y a peut être plus simple, mais, ça tourne
Message modifié, 17 août 2019 - 12:40