jderf
Messages postés189Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention 2 octobre 2014
-
30 oct. 2012 à 13:04
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 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
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 ?