PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Hauteur ligne incorrext ZR
Hauteur ligne incorrext ZR
Débuté par VF85, 30 mar. 2020 16:36 - 7 réponses
Posté le 30 mars 2020 - 16:36
Bonjour,

Je viens vers vous suite à un problème que je rencontre pour configurer la hauteur d'une zone repetée dans mon application mobile.

La hauteur qui est calculé par la fonciton thauteur() n'est pas bonne lorsque mon code s'initialise dans la ZR. En revanche la hauteur de ligne de ma ZR est correct quand je fais un tirer et relacher sur la ZR. C'est exactement le même code entre l'initialisation de la ZR et le tirer et relaché mais le résultat n'est pas le même.

Par contre si je mets un message info contenant la valeur de la variable de la hauteur de ligne et bien la hauteur des ligne des ZR est correct. Ce n'est à rien n'y comprendre !

Voici le code qui s'execute dans l'initialisation de la ZR et qui est exactement le même dans la partie tirer/relacher de la ZR

ZoneRépétéeSupprimeTout(ZR_actu)

TANTQUE IdMAX <> newid
hligne est un réel = 0
// info("Identifiant en cours" + newid)

// Info("newid" + newid)

resrecup est une chaîne = FTPRécupère(xnum, "CRE_PDL/news" + IdMAX + ".xml", ResRepEnCours)

SI resrecup = Faux ALORS

Info(ErreurInfo(errMessage))
SINON
//Info("Transfert effectué avec succès")
FIN

MonBuffer est un Buffer
MonBuffer = fChargeTexte(ResRepEnCours + "/news" + IdMAX + ".xml")
MaChaîne est une chaîne ANSI
MaChaîne = MonBuffer
//Info(MaChaîne)



MaSourceXML est une chaîne = fChargeTexte(ResRepEnCours + "/news" + IdMAX + ".xml")

XMLDocument("CdeXML", MaSourceXML)
SI ErreurDétectée = Vrai ALORS
Erreur("Erreur lors de la création du document XML")
RETOUR
FIN

// Positionne sur l'élément ""
XMLPremier("CdeXML")
// Descend d'un niveau et positionne sur l'élément ""
XMLFils("CdeXML")
titreXML est une chaîne ANSI = XMLDonnée("CdeXML") //contient titre

// Positionne sur l'élément suivant
XMLSuivant("CdeXML")
messageXML est une chaîne ANSI = XMLDonnée("CdeXML") //message

XMLSuivant("CdeXML")
dateXML est une chaîne = XMLDonnée("CdeXML") //date

XMLSuivant("CdeXML")
heureXML est une chaîne = XMLDonnée("CdeXML") //heure



//Fermeture du document
XMLTermine("CdeXML")

// Affichage des données
//Info("Titre INI : " + UTF8VersAnsi(titreXML), "Msg : " + UTF8VersAnsi(messageXML), "Date de publication du communiqué : " + dateXML, "Heure publication : " + heureXML)




Vindice est un entier = ZoneRépétéeAjouteLigne(ZR_actu)


hligne = TexteHauteur(LIB_msg,UTF8VersAnsi(messageXML),tMultiligne)

//info(Vindice) ------> Si je mets ce info la hauteur de ligne est bonne
ZR_actu[Vindice].LIB_indice = Vindice
ZR_actu[Vindice].LIB_id = hligne
ZR_actu[Vindice]..Hauteur = hligne + 150
ZR_actu[Vindice].LIB_msg..Hauteur = hligne

//ATT_message[Vindice] = chJustifié
ZR_actu[Vindice].LIB_date = "Publié le " + dateXML + " à " + heureXML
ZR_actu[Vindice].LIB_titre = UTF8VersAnsi(titreXML)
ZR_actu[Vindice].LIB_msg = UTF8VersAnsi(messageXML)




IdMAX--
//info("New IdMax" + IdMax)
FIN


Je vous remercie d'avance pour votre aide et bonne journée.
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 30 mars 2020 - 17:58
info(Vindice) ne fournit pas la hauteur mais l'indice
De plus, il serait plus logique de calculer la hauteur après le remplissage de la ligne au lieu d'avant.
Donc fait déjà le calcul hligne après
ZR_actu[Vindice].LIB_msg = UTF8VersAnsi(messageXML)
Et ensuite fais ton info(hligne)
Posté le 30 mars 2020 - 19:59
Ce qui n'est pas comprehensible c'est peut importe le info que je mets dans la boucle avec n'importe quelle variable à afficher la hauteur des ZR est correct.

J'ai beau essayé de retourner dans tous les sens le code, j'ai effectué votre proposition déja et le problème est le même. Ce code fonctionne correctement quand il est dans la section tirer/relacher de la ZR mais ne fonctionne pas dans l'initialisation de la ZR.

Je viens de résoudre le problème en inserant ce code dans la fin de l'initialisation qui contient ma ZR.

J'aimerai comprendre quand même pour simple culture personnelle, ce qui pose problème.

Bonne soirée.
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 30 mars 2020 - 21:51
D'après moi étirez et fin d'initialisation, la zr est déjà remplie
Du coup le calcul est valide et tes 3 lignes
ZR_actu[Vindice].LIB_id = hligne
ZR_actu[Vindice]..Hauteur = hligne + 150
ZR_actu[Vindice].LIB_msg..Hauteur = hligne
Peuvent se faire.
D'après moi, c'est juste que ton algorithme est dans le désordre
Faudrait remettre le tout dans le bon ordre.
Membre enregistré
794 messages
Popularité : +40 (42 votes)
Posté le 30 mars 2020 - 23:19
Bonjour, j'ai dû arrêter d'utiliser TexteHauteur sur WM24 pour la même raison. Ma application sur WM23 a parfaitement fonctionné, mais sur WM24, j'arrête. La seule option utilisable pour le moment est l'utilisation de fenêtres internes afin que le contenu des lignes de la zone répétée puisse être redimensionné à partir du contenu...

Ruben
Membre enregistré
794 messages
Popularité : +40 (42 votes)
Posté le 31 mars 2020 - 09:56
Champ de composition et fenêtres internes. J'ai posté un exemple il y a longtemps https://depot.pcsoft.fr/resource.awp…

Rubén
Posté le 02 avril 2020 - 16:18
Popoy a écrit :
D'après moi étirez et fin d'initialisation, la zr est déjà remplie
Du coup le calcul est valide et tes 3 lignes
ZR_actu[Vindice].LIB_id = hligne
ZR_actu[Vindice]..Hauteur = hligne + 150
ZR_actu[Vindice].LIB_msg..Hauteur = hligne
Peuvent se faire.
D'après moi, c'est juste que ton algorithme est dans le désordre
Faudrait remettre le tout dans le bon ordre.


Même en mettant dans l'ordre que tu me proposes cela ne fonctionne pas. Ma grande question est pourquoi cela fonctionne dès que je fais un affichage d'une fenetre info contenant n'importe quoi, n'importe où dans ma boucle de traitement a hauteur est correct ?????
Membre enregistré
140 messages
Popularité : +6 (6 votes)
Posté le 08 avril 2020 - 18:48
Rubén Sánchez Peña a écrit :
Champ de composition et fenêtres internes. J'ai posté un exemple il y a longtemps https://depot.pcsoft.fr/resource.awp…

Rubén


Je n'arrive pas à faire fonctionner votre fonction sous WM24, le contenu de mes libellés sont tronqués. Une idée du problème peut-être ? Merci