IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Recherche/Replace dans un fichier RTF (VB2005)


Sujet :

Windows

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 19
    Points : 8
    Points
    8
    Par défaut Recherche/Replace dans un fichier RTF (VB2005)
    Bonjour,

    Je souhaite faire une étiquette avec un fichier modèle de type RTF et qui contient des champs du type [NOM CHAMPS;Attribut=valeur] . (RTF car je veux que l'utilisateur puisse enrichir la présentation en personnalisant le fichier modèle selon ses goûts).

    Mon programme lis ligne à ligne le fichier RTF, et fait un recherche/replace sur chaque ligne en fonction des champs trouvés, et crée un nouveau fichier.

    Mais lorsque je lis ce fichier ligne à ligne, je m'aperçois que des balise RTF s'intercalent au milieu des mes champs, comme ci
    {\fs22\insrsid2914612 [LIBELLE;}{\fs22\insrsid11498887 RetourLigneAvant}{\fs22\insrsid2914612 =1}{\fs22\insrsid11498887 ]} en lieu et place de [LIBELLE;RetourLigneAvant=1]

    Avez vous une idée comment éviter cette "intrusion" du RTF dans mes balises ?

    Merci par avance

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    S'il n'était pas question de remplacer, je t'aurais conseillé de convertir en texte brut.

    Sinon, si tu peux détecter le début d'une balise RTF, tu peux essayer de faire une fonction de comparaison qui ignore les balises, et une fonction de recherche qui utilise cette fonction de comparaison...

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 19
    Points : 8
    Points
    8
    Par défaut Merci Medinoc
    Pas facile d'ignorer les balise RTF car elle englobent mon propre texte et on ne sait pas ou elles s'arrêtent, sauf à avoir un dico complet des balises RTF.

    J'ai pour l'instant résolu le problème par les regexp en :
    - rechechant le début de mes balises ([NOM CHAMP )
    - extrayant du début jusqu'au caractère "]"
    - puis en recherchant dans cet extrait si tous mes attributs existent (1 pat 1) tjs par regexp

    Cela semble fonctionner.

    Merci et à bientot

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 19
    Points : 8
    Points
    8
    Par défaut Pour info
    J'ai fait une fonction en VB2005 pour épurer les balises RTF à l'intérieur de mes champs. Si ça intéresse quelqu'un, voir le copié/collé de cette fonction sur mon Post dans le forum VB.net

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/06/2009, 17h49
  2. Recherche/Replace dans un fichier RTF (VB2005)
    Par npenel dans le forum VB.NET
    Réponses: 5
    Dernier message: 27/11/2007, 14h59
  3. Recherche chaine dans un fichier
    Par matt8-5 dans le forum Langage
    Réponses: 2
    Dernier message: 02/11/2006, 16h07
  4. Insertion d'une image BMP dans un fichier RTF
    Par didinel dans le forum MFC
    Réponses: 8
    Dernier message: 18/08/2005, 09h24
  5. inserer une image BMP dans un fichier rtf
    Par Alice9 dans le forum MFC
    Réponses: 17
    Dernier message: 06/07/2004, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo