Problème pour faire des ajouts de caractères à une page HTML

vieuxpere Messages postés 197 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014 - 26 janv. 2009 à 01:47
vieuxpere Messages postés 197 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014 - 26 janv. 2009 à 22:55
Bonjour,

J'ai une page HTML existante dans lequel je veux faire des ajouts de caractères. J'affiche ensuite le tout dans un WebBrowser.

Pour ce faire, je mémorise l'ensemble du code HTML de ma page existante puis je mémorise mes ajouts, jusque là je sais à peu prés faire…

Mon problème par contre, c'est que mes ajouts je les saisis dans un RichEdit et quand j'affiche mes modifications (Ajout avec Page Existante) dans mon WebBrowser, je perds tous mes retours à la ligne (j’ai mon texte qui est tout agglutiné à la suite).

Je ne sais pas trop comment le résoudre, si vous avez une idée c'est volontiers.

Merci par avance,

Voici mon code :

var PageHTMLenCours, Ajout : string;Var TexteHTML : TStringList;<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>


begin


// On mémorise le code HTML de la page en cours
PageHTMLenCours := (WebBrowser1.Document as IHTMLDocument3).documentElement.outerhtml;


// Mémorise l'ajout dans un String
Ajout:=RichEdit1.Text;


// Contruction du mail recus en page HTML
TexteHTML:=TStringList.create; // Initialisation de <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /??><st1:personname w:st="on" productid="la StringList">la StringList</st1:personname>


// Defini le code HTML de la page HTML qui va être créée apres (Ajout + Code de la page en cours)
TexteHTML.Add('<H>'+Ajout+'</H>'+PageHTMLenCours);



// Enregistre le corps du message
TexteHTML.SaveToFile('c:\Test.html');




// Efface la page affichée precedement
WebBrowser1.Navigate('About:Blank');


// Affiche la nouvelle page tenant compte de l'ajout
WebBrowser1.Navigate(Form2.Edit53.Text+'\'+Form2.Edit55.Text+'\Test.html');

5 réponses

vieuxpere Messages postés 197 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014
26 janv. 2009 à 10:00
En fait pour simplifier, je souhaite recuperer les retours chariots de mon richedit.
 
Je pense qu'il faut pour les prendre en compte soit modifier mon code HTML d'insertion ('<H>'+Ajout+'</H>') soit ma variable "Ajout" qui est enstring alors que peut-être il faut TStrings.
0
Utilisateur anonyme
26 janv. 2009 à 10:05
Je craque












.

Je te propose une chose camarade : met toi d'accord avec toi même sur une stratégie une fois pour toute
et n'en change plus. Quand cela sera fait revient nous voir .
0
vieuxpere Messages postés 197 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014
26 janv. 2009 à 13:45
Bonjour Francky,

Je sollicite le forum pour des questions différentes, les problèmes énoncés précédemment ont été en grande partie résolus (beaucoup grâce à toi d'ailleurs).

Pour ce souci là, mon code marche mais je ne sais pas récupérer les retours à la ligne, j'ai tout à la suite.

Je pense qu'il faut structurer différemment :

"Ajout:=RichEdit1.Text" et/ou "TexteHTML.Add('<H>'+Ajout+'</H>'+PageHTMLenCours)"

Si quelqu'un a une idée, c'est volontiers.
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 9
26 janv. 2009 à 20:41
N'utilise pas le WebBrowser : il signifie Internet Explorer.


Cordialement, Bacterius !






 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vieuxpere Messages postés 197 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014
26 janv. 2009 à 22:55
J'ai fini par trouver :


 Ajout:=StringReplace(RichEdit1.Text,#13,'
',[rfReplaceAll]);
// Si on a un saut de ligne (#13), alors on le remplace par l'équivalent HTML (
)

En tous cas, merci à tous !
0