Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

traitement page par page avec des conditions

1 réponse
Avatar
---DGI972---
Bonjour,

Je butte sur un petit Pb qui peut surement être résolu en deux ou trois
boucles imbriquées:

J'ai un fichier txt en entrée (IB-2.rtf) qui contient des pages a ne
pas imprimer, j'ai imagé donc de le lire et et d'analyser page par page
si la page a ne pas imprimer contient la phrase "Je ne suis pas
d'accord" ou "je refuse" (par ex dans le texte).
Les pages sont bornées en haut et en bas par un caractère spécial:

Voici un exemple de fichier IB-2.rtf: les 11 premières lignes sont une
sorte d'entête de fichier, puis toute les pages sont encadrées par le
caractères:

{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Courier New;}}
{\*\generator Msftedit
5.41.15.1515;}\viewkind4\uc1\pard\lang1036\f0\fs20\par
\par

\par

\par

\par
\page
Date : 21/01/2009\par
\par
M TOTO\par
Bonjour\par
Merci\par
\par
Date : 21/01/2009\par
\par
M TATA\par
Bonjour\par
Je ne suis pas d'accord \par
Merci\par
\par
Date : 21/01/2009\par
\par
M TITI\par
\par
\par
\par
Date : 21/01/2009\par
\par
M TITA\par
Bonjour\par
Merci\par
\par
Date : 21/01/2009\par
\par
M TATI\par
Bonjour\par
Je refuse \par
Merci\par
\par

La dernière ligne n'a pas le caractère spécial
Le but est de fabriquer un autre fichier IB-3.rtf sans les pages

Je ne suis pas d'accord
Je refuse

J'ai a peine posé les premières briques (en VBS) ci dessous mais je
coince :'( :

Set fileIn2 = fso.OpenTextFile("D:\EDITION\IB-2.rtf", 1, True)
Set fileOut2 = fso.OpenTextFile("D:\EDITION\IB-3.rtf", 2, True)

Do While fileIn2.AtEndOfStream <> True
Do while Mid(fileIn2.ReadLine,1,15)=" " then
test2 = fileIn2.ReadLine 'Lecture de la ligne complète
if Mid(test2,1,23)= "Je ne suis pas d'accord" or Mid(test2,1,10)"Je
refuse" then
Loop
fileOut2.write test2
Loop

Merci de m'orienter sur la méthode et la démarche a suivre car je suis
presque au bout de processus ...

1 réponse

Avatar
---DGI972---
---DGI972--- a écrit :
Bonjour,

Je butte sur un petit Pb qui peut surement être résolu en deux ou trois
boucles imbriquées:

J'ai un fichier txt en entrée (IB-2.rtf) qui contient des pages a ne pas
imprimer, j'ai imagé donc de le lire et et d'analyser page par page
si la page a ne pas imprimer contient la phrase "Je ne suis pas d'accord" ou
"je refuse" (par ex dans le texte).
Les pages sont bornées en haut et en bas par un caractère spécial:

Voici un exemple de fichier IB-2.rtf: les 11 premières lignes sont une sorte
d'entête de fichier, puis toute les pages sont encadrées par le caractères:

{rtf1ansideff0{fonttbl{f0fnilfcharset0 Courier New;}}
{*generator Msftedit 5.41.15.1515;}viewkind4uc1pardlang1036f0fs20par
par

par

par

par
page
Date : 21/01/2009par
par
M TOTOpar
Bonjourpar
Mercipar
par
Date : 21/01/2009par
par
M TATApar
Bonjourpar
Je ne suis pas d'accord par
Mercipar
par
Date : 21/01/2009par
par
M TITIpar
par
par
par
Date : 21/01/2009par
par
M TITApar
Bonjourpar
Mercipar
par
Date : 21/01/2009par
par
M TATIpar
Bonjourpar
Je refuse par
Mercipar
par

La dernière ligne n'a pas le caractère spécial
Le but est de fabriquer un autre fichier IB-3.rtf sans les pages

Je ne suis pas d'accord
Je refuse

J'ai a peine posé les premières briques (en VBS) ci dessous mais je coince
:'( :

Set fileIn2 = fso.OpenTextFile("D:EDITIONIB-2.rtf", 1, True)
Set fileOut2 = fso.OpenTextFile("D:EDITIONIB-3.rtf", 2, True)

Do While fileIn2.AtEndOfStream <> True
Do while Mid(fileIn2.ReadLine,1,15)=" " then
test2 = fileIn2.ReadLine 'Lecture de la ligne complète
if Mid(test2,1,23)= "Je ne suis pas d'accord" or Mid(test2,1,10)"Je
refuse" then
Loop
fileOut2.write test2
Loop

Merci de m'orienter sur la méthode et la démarche a suivre car je suis
presque au bout de processus ...



Oups le caractère spécial c'est 0C en hexa