Richedit et texte formatté

Signaler
Messages postés
31
Date d'inscription
vendredi 5 mars 2004
Statut
Membre
Dernière intervention
15 avril 2007
-
Messages postés
54
Date d'inscription
jeudi 13 novembre 2003
Statut
Membre
Dernière intervention
25 avril 2012
-
Bonjour,

Je souhaite afficher dans un richedit un texte formatté je ne sais pas de quel format il s'agit voici un extrait du fichier :

-------------
VER2
246@48@300@60@1@#100-1@0@0|313@125@387@136@1@#100-2@0@0|110@183@168@193@1@#100-3@0@0|141@240@182@250@1@#100-4@330@86
{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fnil MS Sans Serif;}{\f1\froman\fcharset2{\*\fname Symbol;}MT Symbol;}{\f2\fswiss\fcharset1 MS Sans Serif;}{\f3\fswiss\fcharset1 MS Sans Serif;}{\f4\froman\fprq2 Times New Roman;}{\f5\froman\fprq2 Benguiat Bk BT;}{\f6\fswiss\fprq2\fcharset238 System;}{\f7\froman\fprq2\fcharset238{\*\fname Times New Roman;}Times New Roman CE;}}
----------------

Voila donc en gros je souhaite que ce texte s'affiche tel que le souhaiterais le formattage.
De plus, connaissez vous un soft permmettant d'éditer de tels fichier simplement?

Merci

6 réponses

Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
1
Hello !

On dirait bien un fichier rtf donc logiquement, tu peux le charger dans un TRichEdit en faisant RichEdit1.Lines.LoadFromFile('C:\Monfichier.rtf');

Pour l'éditer, tu peux utiliser WordPad fourni avec Windows.

A+
Flo
Messages postés
31
Date d'inscription
vendredi 5 mars 2004
Statut
Membre
Dernière intervention
15 avril 2007

C'est éxactement ce que j'ai fait mais le probleme c'est que ca affiche toutes les "balises" avec et non le texte formaté
Messages postés
1154
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
5 avril 2012
2
Bonjour,

Essayes en supprimant ceci, qui à mon avis ne correspond pas à une partie de fichier rtf :
"VER2
246@48@300@60@1@#100-1@0@0|313@125@387@136@1@#100-2@0@0|110@183@168@193@1@#100-3@0@0|141@240@182@250@1@#100-4@330@86"

N.B. "{\rtf1\ansi\deff0\deftab720..." correspond bien au début d'un fichier rtf.

Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
1
C'est ce que j'allais dire WhiteHippo, il me semblais bien que ce "truc" là ne faisait pas parti du rtf.
Pour le supprimer par code, sans modifier le fichier original, voila une petite procédure bien pratique :

procedure LoadStrangeRTF(const FileName: string; RE: TRichEdit);
var
  SL: TStringList;
  PosDebut: Integer;
begin
  SL := TStringList.Create;
  try
    {>> Chargement }
    SL.LoadFromFile(FileName);

    {>> Recherche du "vrai" début du fichier" }
    PosDebut : = Pos('{\rtf1\', SL.Text);

    {>> Enlève ce qu'il y a en trop si nécessaire }
    if PosDebut > 0 then
      SL.Text := Copy(SL.Text, PosDebut, Length(SL.Text) - PosDebut);

    {>> Assigne le texte au RichEdit }
    RE.Text := SL.Text;
  finally
    SL.Free;
  end;
end;

A appeler comme cela :

begin
  LoadStrangeRTF('E:\Mes documents\Document.rtf', RichEdit1);
end;

En espérant t'avoir aidé...





A+
Flo
Messages postés
31
Date d'inscription
vendredi 5 mars 2004
Statut
Membre
Dernière intervention
15 avril 2007

Merci je test ca des que je peut
Messages postés
54
Date d'inscription
jeudi 13 novembre 2003
Statut
Membre
Dernière intervention
25 avril 2012

Et vérifie la propriété PlainText de ton RichEdit...