PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 25 → Perdu dans le Traitement de texte W25 dernière mise à jour
Perdu dans le Traitement de texte W25 dernière mise à jour
Started by Francis, May, 23 2020 3:47 PM - 5 replies
Registered member
5 messages
Posted on May, 23 2020 - 3:47 PM
Bonjour à tous,

Je me débats comme un beau diable avec le Traitement de texte et ai besoin de vos lumières.

J'utilise un modèle avec 5 tableaux et cherche à écrire dans chaque.

Pour trouver ces tableaux, j'utilise une fonction qui me renvoie le docTableau contenant un signet particulier "TAB1, TAB2..TAB5". J'ai donc en en-tête de procédure 5 variables DocTableau, une pour chaque tableau L'évaluation de ces signets montre que ces variables sont ok (Bon nombre de Lignes et de colonnes).

PROCÉDURE DocFindTableauBySignet( pMyDoc, pSignet )

docFrag est un docFragment
tabProduit est un docTableau

docFrag = pMyDoc.Signet[pSignet]
tabProduit = docFrag.Paragraphe[1].Tableau

RENVOYER tabProduit


L'écriture de données dans le premier tableau se passe bien, chaque donnée se trouve bien dans le premier tableau au bon endroit.

C'est lorsque je cherche à écrire dans le second tableau que ça se passe mal. Malgré l'utilisation de la variable DocTableau correspondant au second tableau , il continue à écrire dans le premier tableau. Impossible de comprendre pourquoi.
Si l'un d'entre vous à une idée, ça m'aiderait beaucoup.

Bon week-end à tous et merci pour votre aide.

Le Code (Ca déraille vers la fin dans DocTabbJobs..Cellules[I,1 )


PROCÉDURE MakeDoc()
Ville, Region, Pays est une chaîne
Nbjobs , I est un entier

DocTabDetail, DocTabbJobs, DocTabSchools , DocTabSkills , DocTabResume est un docTableau

MakeTabJobs()
MakeTabSchools()
MakeTabSkills()
ParseRégions(TABLE_DSMAIN.Location,Ville,Region,Pays)

DocTabDetail = DocFindTableauBySignet(MyDoc,"TAB1")
DocTabbJobs = DocFindTableauBySignet(MyDoc,"TAB2")
DocTabSchools = DocFindTableauBySignet(MyDoc,"TAB3")
DocTabSkills = DocFindTableauBySignet(MyDoc,"TAB4")
DocTabResume = DocFindTableauBySignet(MyDoc,"TAB5")

DocEcritCellule( MyDoc , DocTabDetail , 1 , 2 , TABLE_DSMAIN.VisitTime)
DocEcritCellule( MyDoc , DocTabDetail , 2 , 1 , Majuscule(TABLE_DSMAIN.LastName)+" "+TABLE_DSMAIN.FirstName+Caract(10))
DocEcritCellule( MyDoc , DocTabDetail , 3 , 1 , Majuscule(TABLE_DSMAIN.Company)+" - "+TABLE_DSMAIN.Title+Caract(10))
DocEcritCellule( MyDoc , DocTabDetail , 4 , 1 , Remplace(MakeLocation(Ville,Region,Pays) ,Caract(10)," - "))
DocEcritCellule( MyDoc , DocTabDetail , 5 , 1 , TABLE_DSMAIN.Email)
DocEcritCellule( MyDoc , DocTabDetail , 5 , 2 , TABLE_DSMAIN.Phone)
DocEcritCellule( MyDoc , DocTabDetail, 6 , 1 , TABLE_DSMAIN.Profile)
DocEcritCellule( MyDoc , DocTabResume, 1 , 1 , TABLE_DSMAIN.Summary)



Nbjobs = TableauInfo(tabJobs,tiNombreTotal)

I = 1
POUR TOUT StructJobs DE tabJobs
DocTabbJobs..Cellules[I,1]..Contenu..Texte = StructJobs.DateDebut + " - "+StructJobs.DateFin

// Tableau..Cellules[2,2]..Contenu..Texte
SI I < Nbjobs ALORS
DocAjouteLigne(MyDoc ,"TAB2")
FIN
I++
FIN
Registered member
115 messages
Posted on May, 25 2020 - 4:09 PM
Bonjour Francis,

Puisque tes tableaux semblent avoir des tailles fixes, tu peux utiliser docRemplace() avec des balises spécifiques dans ton document.
Je sais que ça ne répond pas à ta question, mais j'utilise couramment ça avec succès, si ça peut te dépanner...

Jean-Marc
Registered member
5 messages
Posted on May, 25 2020 - 7:33 PM
Merci. Pour ta réponse. Sur mes cinq tableaux, j'en ai deux avec un nombre de lignes variable.
Donc Docremplace ne peut pas fonctionner. Le TT est assez complexe et pas trop documenté (où je ne suis pas doué) et je galère un peu.
J'ai envoyé un projet exemple au support. J'attends leur réponse et vous en ferai profiter.
Registered member
92 messages
Posted on May, 27 2020 - 12:07 AM
Salut Francis, j'ai mis à jour mon post. Avec le mini projet à jour qui fonctionne parfaitement.
@+++

--
Stéphane.
Registered member
5 messages
Posted on May, 27 2020 - 7:31 PM
Hello
Merci pour ton message. La différence entre toi et moi est que tu crées les tableaux pendant que moi j'en utilise précédemment créés.
J'ai mis à jour avec l'update 3 et c'est pareil.
Le ST a envoyé mon problème aux développeurs. Je ne sais pas si c'est suivi ensuite. Tu le sais toi ?
Je suis sensé avoir des nouvelles ?

Bonne soirée
Registered member
92 messages
Posted on May, 28 2020 - 9:58 AM
Oui bien sur il y a un suivi.
N'hésite pas à les recontacter, ils sont assez cool.
Pourrais tu faire un mini Projet et le mettre en partage...
Et sinon tes tableaux créé précédemment, si tu les gères dans windev pour les rappeler ensuite ?

--
Stéphane.