Un grand merci pour votre code utile
Citation:
Envoyé par
midou23175
Bonjour,
Merci à vous, pour m'avoir amené à revisiter mon ancien code.
J'ai ajouté une optimisation intéressante
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
// gnXLargeur1 = étant la largeur de la 1ère ligne (paramètre)
// gsXLettre_Montant étant la chaine en lettres du montant du chèque
// gsXchaine_Limitation1 = paramètre de limitation + " "
// gsXchaine_Limitation2 = " "+paramètre de limitation
// remarque : si paramètre de limitation ="" alors
// gsXChaine_Limitation1 et gsXChaine_Limitation2 =""
sXChaine_Test, sXChaine1, sXChaine2 sont des chaines
sTexte_Lettre est une chaine
nXLongueur est un entier
sTexte_Lettre=gsXchaine_Limitation1+ChaîneFormate(Gauche(gsXLettre_Montant,1),ccMajuscule)+Milieu(gsXLettre_Montant,2)+gsXchaine_Limitation2
// Taille de sTexte_Lettre déterminée de façon dynamique
nXLongueur=iLargeurTexte(iPolice(MaPolice)+sTexte_Lettre)
nXOCURA est un entier = ChaîneOccurrence(sTexte_Lettre," ")+1
SI nXLongueur > gnXLargeur1 ALORS
POUR i=1 A nXOCURA
sXChaine_Test+=ExtraitChaîne(sTexte_Lettre,i," ")
SI iLargeurTexte(iPolice(MaPolice)+sXChaine_Test) < gnXLargeur1 ALORS
sXChaine_Test+=" "
sXChaine1=sXChaine_Test
SINON
sXChaine1=SansEspace(sXChaine1)+gsXchaine_Limitation2
sXChaine2=gsXchaine_Limitation1
POUR k=i A nXOCURA
sXChaine2+=ExtraitChaîne(sTexte_Lettre,k," ")+" "
FIN
sXChaine2=SansEspace(sXChaine2)
SORTIR
FIN
FIN
RUB_Lettre1=sXChaine1
RUB_Lettre2=sXChaine2
SINON
RUB_Lettre1=sTexte_Lettre
RUB_Lettre2=""
FIN |
Je vous remercie pour ce code très utile