CONVERTIR LE CONTENU D'UNE RICHTEXTBOX EN HTML (VB.NET)

cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008 - 19 avril 2003 à 11:38
 miloud - 26 mars 2015 à 23:56
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/6774-convertir-le-contenu-d-une-richtextbox-en-html-vb-net

ça marche très bien! merci
jurion Messages postés 2 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 17 octobre 2008
17 oct. 2008 à 19:45
Euh petite erreur de derniere minute : remplacez "=" par ":" dans "text-align=". Voila :)
jurion Messages postés 2 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 17 octobre 2008
17 oct. 2008 à 19:44
Merci pour la source :)
Voila traduction en C# pour les faignant :)

public static string RichToHtml(RichTextBox Box)
{
string strHTML="";
string strColeur;
bool blnGras;
bool blnItalic;
string strPolice;
short shtTaille;
HorizontalAlignment hzAlign;
string strHzAlign="";
int lngDepartOriginal;
int lngTailleOriginal;
int intCount;
if (Box.Text.Length == 0) return strHTML;
lngDepartOriginal = 0;
lngTailleOriginal = Box.TextLength;
Box.Select(0, 1);
//Entete HTML
strHTML = "<HTML>";
strColeur = Box.SelectionColor.ToKnownColor().ToString();
blnGras = Box.SelectionFont.Bold;
blnItalic = Box.SelectionFont.Italic;
strPolice = Box.SelectionFont.FontFamily.Name;
hzAlign = Box.SelectionAlignment; if (hzAlign HorizontalAlignment.Left) strHzAlign "Left"; else if (hzAlign HorizontalAlignment.Center) strHzAlign "Center"; else if (hzAlign HorizontalAlignment.Right) strHzAlign "Right";
shtTaille = Convert.ToInt16( Box.SelectionFont.Size);
strHTML += "
";
if (blnGras)
{
strHTML += "";
}
if (blnItalic)
{
strHTML += "";
}
strHTML += Box.Text.Substring(0, 1);
//Boucle sur le reste du texte
for (intCount =2;intCount<=Box.Text.Length;intCount++) {
//Selection du caractere
Box.Select(intCount - 1, 1);
//Verifier et implementer si necessaire un changement de style
if ((Box.SelectionColor.ToKnownColor().ToString() != strColeur) || (Box.SelectionFont.FontFamily.Name != strPolice) || (Convert.ToInt16(Box.SelectionFont.Size) != shtTaille) || (Box.SelectionAlignment != hzAlign))
{ if (Box.SelectionAlignment HorizontalAlignment.Left) strHzAlign "Left"; else if (Box.SelectionAlignment HorizontalAlignment.Center) strHzAlign "Center"; else if (Box.SelectionAlignment HorizontalAlignment.Right) strHzAlign "Right";

strHTML += "
" + Environment.NewLine + "
";
}
// Verifier changement GRAS
if (Box.SelectionFont.Bold != blnGras)
{
if (Box.SelectionFont.Bold == false)
{
strHTML += "";
}
else
{
strHTML += "";
}
}
//Verifier changement ITALIQUE
if (Box.SelectionFont.Italic != blnItalic)
{
if (Box.SelectionFont.Italic == false)
{
strHTML += "";
}
else
{
strHTML += "";
}
}
//Ajouter le caractere
switch (Box.Text.Substring(intCount - 1, 1))
{
case "\n":
strHTML += "
";
break;
case " ":
strHTML += " ";
break;
case "\t":
strHTML += " ";
break;
default:
strHTML += System.Web.HttpUtility.HtmlEncode(Box.Text.Substring(intCount - 1, 1));
break;
}
//Mise a jour du style courant
strColeur = Box.SelectionColor.ToKnownColor().ToString();
blnGras = Box.SelectionFont.Bold;
blnItalic = Box.SelectionFont.Italic;
strPolice = Box.SelectionFont.FontFamily.Name;
shtTaille = Convert.ToInt16(Box.SelectionFont.Size);
hzAlign = Box.SelectionAlignment;
}
//Fermer les Tag si necessaire
if (blnGras) strHTML += "";
if (blnItalic) strHTML += "";
//Fermer le style et la page HTML
strHTML += "
</HTML>";
//Restorer la selection d'origine
Box.Select(lngDepartOriginal, lngTailleOriginal);
return strHTML;
}
snak27 Messages postés 17 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 25 septembre 2008
15 mars 2008 à 09:55
super codebravo
8/10
cs_Trappiste Messages postés 6 Date d'inscription samedi 23 août 2003 Statut Membre Dernière intervention 25 août 2005
5 sept. 2005 à 23:48
Super.
Peut-on facilement transposer le code en VB6 ?
Sûrement en utilisant quelques API, mais lesquelles ?
CsM Skate Messages postés 60 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 20 mai 2007
22 août 2005 à 14:26
Tout simplement génial :)
cs_YaNn0u Messages postés 48 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 27 avril 2005
18 juil. 2004 à 20:16
Avec Inet ?! Comment ça ? lol
Car en fait, j'aimerais activer l'HTML dans les richtextbox..

Merci
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
25 avril 2004 à 18:42
ou en l'écrivant toi-même, ce qui est tjs plus gratifiant.
dionysos6868 Messages postés 310 Date d'inscription jeudi 4 septembre 2003 Statut Membre Dernière intervention 9 juin 2005 1
25 avril 2004 à 18:41
oui avec un composant iNet
cs_YaNn0u Messages postés 48 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 27 avril 2005
25 avril 2004 à 17:38
Salut,
Est-ce que cest possible de faire l'inverse ?
html vers richtextbox ?

merci !
dionysos6868 Messages postés 310 Date d'inscription jeudi 4 septembre 2003 Statut Membre Dernière intervention 9 juin 2005 1
25 avril 2004 à 14:03
simple et pratique rien a dire tres bien

9/10 pour la lisibilité et la simplicitée
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
19 avril 2003 à 12:34
lol merci pour le compliment et pour le maileur voir un peu plus au dans la liste :)

@++
Crazyht
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
19 avril 2003 à 11:38
super code :) ça devait être casse tête de trovuer le meilleur endroit pour mettre la boucle, et pour utiliser un minimum de balmaises html. bravo :)
je ne peux pas le tester car je programme en C++, je n'ai pas VB (ça n'empeche pas de comprendre le code, c'est bien documenté), mais je te mets 8. Certainement pratique si tu veux créer un mailer ou autre chose du genre :)
Rejoignez-nous