Impression avec Rave Report

Signaler
Messages postés
189
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
2 octobre 2014
-
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
-
Bonjour,

Je souhaite générer un flux au format RTF et le visualiser dans un RichEdit. Ceci pour permettre à l'utilisateur d'apporter des modifications dans le RichEdit et de l'imprimer ensuite. Voila l'idée.

Je pensai faire tout simplement cela :

procedure TForm1.Button1Click(Sender: TObject);
var MonStream : TmemoryStream;
    RTFStream : TmemoryStream;
begin

   MonStream := TmemoryStream.Create;
  RTFStream := TmemoryStream.Create;

  With RvNDRWriter1 do
    begin
      StreamMode := smUser;
      Stream := MonStream;
    end;

 RvProject.Execute;
RvRenderRTF1.NDRStream := MonStream; 
RvRenderRTF1.OutputStream := RTFStream;
  if RTFStream <> nil then
    begin
      RTFStream.Position := 0;
      RichEdit1.Lines.LoadFromStream(RTFStream);
    end;  
end;


Malheureusement j'obtiens une page blanche. Y?a-t-il un moyen de faire ça correctement avec les flux ?


Autre solution, qui marche pas beaucoup mieux, mais moins propre, en passant par le disque au lieu des flux

RvRenderRTF1.PrintRender(MonStream, 'test_rtf.rtf');
RichEdit1.Lines.LoadFromFile('test_rtf.rtf');

J'obtiens une page blanche si plaintext = true et le fichier avec toutes les balises de construction si plaintext=false.
Le fichier est bien créé sur le disque et il est lisible avec Word. Donc c'est le RichEdit qui ne sait pas relire correctement le fichier généré. Comment faire ? Y?a-t-il une option à activer pour le générer dans un format compatible avec le RichEdit ?

Merci pour votre aide.

Jean

1 réponse

Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
Bonsoir,

juste un p'tit coup de main en passant..
tu devrais ton bonheur dans ces exemples :
RicheEdit

cantador