PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Urgent. Type Document : Centrer un texte
Urgent. Type Document : Centrer un texte
Débuté par John-Phi, 12 oct. 2017 17:29 - 5 réponses
Posté le 12 octobre 2017 - 17:29
Bonjour à tous,

Dans la terriblement décriée variable document qui ne fonctionne pas correctement selon certains,
il est sur que la documentation pour comprendre sa programmation n'est pas au rendez vous.
J'essaie depuis quelques heures d'ajouter un texte formaté dans ma variable Document mais peau de balle.

Pour changer la police, la taille, ou le gras, pas de problème, mais pour le centrer, ou mettre un cadre autour,
c'est casse tête chinois.

Est ce qu'un balèze pourrait m'éclairer la lanterne car je sèche. Y a tellement de type de truc semi identique,
sans AUCUN exemple digne de ce nom, que ça fait parfois regretter ce soft.
Un petit bout de code bien structuré, avec un exemple qui marche et utile, c'est pas grand'chose à mettre dans la doc, à moins que PC soft ne sache pas non plus comment ça marche.

Merci à tous par avance.

John-Phi
Membre enregistré
3 886 messages
Popularité : +227 (347 votes)
Posté le 13 octobre 2017 - 06:21
Bonjour,
Urgent dans un post peut en rebuter plus d'un.
En passant par une variable DocParagraphe option MiseEnPage..Alignement=chCentré ?? et ce d'après la doc

https://doc.pcsoft.fr/fr-FR/?1000022461&name=TYPE_Document
https://doc.pcsoft.fr/fr-FR/?1000022483&name=docparagraphe_type_variable

--
Il y a peut être plus simple, mais, ça tourne
Message modifié, 13 octobre 2017 - 06:23
Posté le 13 octobre 2017 - 09:30
Merci pour l'effort, mais je demande à voir.

Parce que la page de doc mentionnée, je l'ai bien évidemment épluché de haut en bas.

Le coup du Docparagraphe, j'ai essayé mais ça se met en erreur (histoire de tableau de paragraphes, pas compris).

Soit je ne fais pas correctement, soit ça marche pas comme ils indiques.

J'ai suivi la logique de programmation habituelle mais y a un truc que je ne comprends pas dans tous les types de variable proposés : DocElement, DocElementTexte, DocParagraphe, DocFragment, DocMiseEnPage, sans oublier Document bien sûr. Un vrai bazar non expliqué ou commenté correctement. Il manque un schéma pour expliquer l'imbrication de tout ça.
Mais comme PCSoft a une fâcheuse tendance à faire plusieurs fonctions qui font la même chose, ça n'aide pas.

Donc, j'ai besoin d'un réel exemple pour comprendre comment on met un texte dans le Document, juste quelques mots d'un titre par exemple, et pour le centrer. J'ai pu changer la police, sa taille, mettre en gras, bref toutes les options disponible sur DocElement autre mais pas centrer ou l'encadrer, ce qui est effectivement, sur une option de DocParagraphe.
J'ai même réussi imprimer mon test, le mettre en PDF. Ça, ça marche.

J'espère que mon explication est claire. Et c'est urgent car je suis sur le développement d'une appli qui nécessite ce type de code pour finaliser. Et là, je ne peux plus avancer ou je dois tout reprendre à zéro.

Merci pour l'aide.
Membre enregistré
218 messages
Popularité : +14 (14 votes)
Posté le 13 octobre 2017 - 12:10
C'est vrai que les principes de programmation du champ TT ne sont nul part exposés, je l'ai signalé au ST.

Pour ajouter du texte au format voulu on procède comme ça :

FragmentTexte est un DocFragment(MON_TT,-1,0) // pour aller en fin du document
FragmentTexte..MiseEnForme..PoliceNom="Times New Roman"
FragmentTexte..MiseEnForme..PoliceGras=Faux
FragmentTexte..MiseEnForme..PoliceTaille=12
FragmentTexte..MiseEnForme..CouleurTexte=iNoir
POUR TOUT MonElementCourant DE FragmentTexte..Paragraphe
MonElementCourant.MiseEnPage.Alignement=chCentre
FIN
FragmentTexte.Texte+=«mon texte»
Posté le 13 octobre 2017 - 13:04
Merci Pierre Louis pour cette explication.

Je teste ça et je vous dis si c'est OK.

Il est clair que c'est du jus de chique côté doc. Fait exprès ou pas, je ne sais pas mais pas simple.
C'est pas comme Cobol ou Dbase et une montagne de bouquins pour expliquer (A une époque lointaine bien sur).

Merci et A+

JPh.
Posté le 16 décembre 2019 - 13:37
merci ça marche mais je veux ajouter un cadre aussi,comment le faire