Synthèse d'un échange avec le support suite à un problème rencontré pour la gestion des sauts de page avec la fonction iImprimeZoneRTF :
La commande iImprimeZoneRTF ne compte pas les RC dans le texte imprimé. C’est lié à une anomalie des modules RTF de Windows sur lequel Windev s'appuie.
Le code fourni en exemple ci dessus peut tel qu'il est générer des sauts de page de trop : Code corrigé (la différence est dans le <nTailleTexte est un entier = Taille ( sTexte )- ChaîneOccurrence ( sTexte , RC )> )
// Affiche la fenêtre d'aperçu
iAperçu ()
// Conversion du texte
s Texte est une chaîne = RTFVersTexte ( SAI_SaisieTexte )
// Taille du texte
n TailleTexte est un entier = Taille ( s Texte )- ChaîneOccurrence ( s Texte , RC )
// Boucle sur toutes les pages
n Début est un entier
n Taille est un entier = - 1
BOUCLE
// Imprime la page
n Début = n Taille + 1
n Taille = iImprimeZoneRTF ( SAI_SaisieTexte , 0 , 0 , iLargeurPage (), iHauteurPage (), n Début , - 1 )
// Saute la page si il reste des pages
SI n Taille < n TailleTexte ET n Taille > n Début ALORS
iSautePage ()
FIN
A FAIRE TANTQUE n Taille < n TailleTexte ET n Taille > n Début
// Fin de l'impression
iFinImprime ()
|