Impression avec Rave Report

jderf Messages postés 189 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 2 octobre 2014 - 30 oct. 2012 à 13:04
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 31 oct. 2012 à 17:26
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

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
31 oct. 2012 à 17:26
Bonsoir,

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

cantador
0
Rejoignez-nous