OVH Cloud OVH Cloud

RTF 2 HTML

23 réponses
Avatar
Fabien Mas
Bonjour,
J'utilise un champ RTF pour formatter une zone de texte
Comment convertir celle ci au format HTML ?
existe t il une fonction, un composant ?

10 réponses

1 2 3
Avatar
Fabien Mas
en fait qd je copie colle la zone de texte depuis leprojet RTF2HTML vers mon
projet cela marche correctement
c'est slt a partir du moment ou je change le style graphique du champ que
cela m'affiche le texte indesire

"Fabien Mas" a écrit dans le message de news:
40ee9f26$0$30288$
cela ne resout pas le pb

"Manu" a écrit dans le message de news:
ccm5mt$p1p$
> Fabien Mas wrote:
> > implorons alors
> > sinon j'utilise windev 8, peut etre que la definition du champ rtf a
> > change depuis
> Pourquoi ne pas avoir pris le Projet RTF2HTML et l'avoir compilé en WD8


?
>
>
>
>




Avatar
Geno
il y a un composant à cette adresse
genosoft.surf-valley.com/comp-rtf.php

un composant qui marche quelque soit les versions de Windev

Yvan

"Fabien Mas" a écrit dans le message de news:
40eea206$0$30280$
en fait qd je copie colle la zone de texte depuis leprojet RTF2HTML vers


mon
projet cela marche correctement
c'est slt a partir du moment ou je change le style graphique du champ que
cela m'affiche le texte indesire

"Fabien Mas" a écrit dans le message de news:
40ee9f26$0$30288$
> cela ne resout pas le pb
>
> "Manu" a écrit dans le message de news:
> ccm5mt$p1p$
> > Fabien Mas wrote:
> > > implorons alors
> > > sinon j'utilise windev 8, peut etre que la definition du champ rtf a
> > > change depuis
> > Pourquoi ne pas avoir pris le Projet RTF2HTML et l'avoir compilé en


WD8
?
> >
> >
> >
> >
>
>




Avatar
Roumegou
Manu avait écrit le 09/07/2004 :
un lien vers www.4usinfo.com/perso/ ou j'ai telecharge un composant
qui bug



et quelle est l'erreur ?

l'auteur pourra certainement soit t'aiguiller soit voir de quoi il s'agit.



Path:
news.free.fr!xref-2.proxad.net!10.13.0.21.MISMATCH!spooler3-1.proxad.net!feeder2-1.proxad.net!news6-e.free.fr!not-for-mail
Reply-To: "Fabien Mas" From: "Fabien Mas"
Newsgroups: fr.comp.developpement.agl.windev
References: <40ee9583$0$30282$
<ccm3vb$oid$ <40ee985a$0$30269$
<ccm4c0$om2$ Subject: Re: RTF 2 HTML Date: Fri, 9 Jul
2004 15:16:19 +0200 Organization: IOM
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Lines: 31
Message-ID: <40ee9aa5$0$30285$
NNTP-Posting-Date: 09 Jul 2004 15:16:22 MEST
NNTP-Posting-Host: 81.56.240.248
X-Trace: 1089378982 news6-e.free.fr 30285 81.56.240.248:3789
X-Complaints-To:
Xref: news.free.fr fr.comp.developpement.agl.windev:32555

ben en fait j'ai telecharge les sources parce que l'interfacage du composant
(ouverture d'une fenetre ) n'etait pas possible ds mon projet
je doit confertir la chaine rtf ds mon code
docn j'ai recupere ttes les fonctions (ToHTML,HtmlToRTF,....)
je fais ensuite
maChaineHtml = ToHTML(monTexteRTF)
cela convertit bien tout mais il reste des caracteres au debut :
pour le chaine "bonjour je teste" il me renvoie en html :

{rtf1ansiansicpg1252deff0deflang1036{fonttbl{fnilfcharset0 MS Shell
Dlg;}}
fs17 bonjour je teste

si tu peux m'aider je suis preneur :)



"Manu" a écrit dans le message de news:
ccm4c0$om2$
un lien vers www.4usinfo.com/perso/ ou j'ai telecharge un composant
qui bug



et quelle est l'erreur ?

l'auteur pourra certainement soit t'aiguiller soit voir de quoi il


s'agit.



Me voici, me voilà.
Je me sert de ce composant assez régulièrement mais pour une
utilisation limitée. Le but est d'utiliser le superchamps Rtf pour
obtenir une interface de saisie en rtf et d'obtenir une correspondance
en html. Mais je ne suis pas allé (cela a déjà été assez galère) pour
convertir tout type de rtf en html.Si vous faîtes un copier/coller
d'une chaîne rtf générée dans Word, il y a de fortes chances que cela
ne fonctionne pas correctement. J'ai viré aussi le choix des polices et
n'ai gardé que la taille, la couleur et les options gras, souligné,
italiques car voulant que la chaine soit utilisée dans un contexte web,
je ne voulais pas de polices exotiques. Il n'y a donc que de l'arial

Donc en conclusion, ce composant peut vous servir à travers cette
interface de saisie, ou vous avez les sources pour vous en inspirer.
Les trucs (gratuits je précise) que j'avais trouvé sur internet en
faisait beaucoup moins et c'est pour ça que j'étais parti là dedans (en
pensant y passer beaucoup moins de temps je dois l'avouer).

Et pour en revenir au bug mentionné, je pense que c'est une question de
police car il recherche des chaines rtf et substitue par des balises
html.

--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
ted
"Fabien Mas" écrivait news:40ee9583$0$30282
$:

Bonjour,
J'utilise un champ RTF pour formatter une zone de texte
Comment convertir celle ci au format HTML ?
existe t il une fonction, un composant ?





salut
Tu as simplement essayé d'imprimer vers le format HTML ?
Il y a une fonction iImprimeZoneRTF(), et iDestination(iHTML) !
Je n'ai jamais a*essayé, je ne te garanti donc pas le réultat, mais ça vaut
le coup d'essayer !
Si cela fonctionne, j'espère que tu n'auras pas perdu trop de temps avec
les autres solutions (qui me paraissent bien complexes)

En esperant t'avoir aidé.
ted
Avatar
elecoest
"Geno" a écrit dans le message de news:
ccmgt1$16ki$
il y a un composant à cette adresse
genosoft.surf-valley.com/comp-rtf.php

un composant qui marche quelque soit les versions de Windev



Oui mais il est payant :-(
Avatar
e-pluriel
Bonjour,

Voici une version fondée sur l'original RTF2HTML que j'ai récupéré sur
ce site et dont je remercie l'auteur. La version corrige quelques
problèmes et fonctionne correctement.

PROCEDURE TOHTML11(pCh)
pos,posdeb,posfin sont des entiers
i,imax,j,jmax,nbcolor,tailleCh,tailleCh2 sont des entiers
chrech,wch,wch2,wch3 est chaîne
parag,font,colHexa est chaîne
nouvelle est chaîne
pasfermee est un booléen
wpolice est chaîne
//ajout ad
Avirer est une chaîne
positionFin est un entier
ad1,ad2,ad3 est un entier

//nouvelle =TronqueDernierCaractere(SansEspace(pch),3)
nouvelle=SansEspace(pCh)

SI ChaîneOccurrence(nouvelle,"'b7tab",SansCasse)>0 OU
ChaîneOccurrence(nouvelle,"<li>",SansCasse)>0 ALORS
wpolice="{fonttbl{f0fswissfprq2fcharset0
Arial;}{f1fromanfprq2fcharset2 Symbol;}"
SINON
wpolice="{fonttbl{f0fswissfprq2fcharset0 Arial;}"
FIN

wch="{rtf1ansiansicpg1252deff0deflang1036"+wpolice+"}"+RC
nouvelle=Remplace(nouvelle,wch,"")
nouvelle=Remplace(nouvelle,"viewkind4uc1","")

//Table des couleurs
wch=ExtraitEntre(nouvelle,"{colortbl ;","}")
SI wch<>"" ALORS
// il y a des couleurs
//wch2 est la table des couleurs
wch2="{colortbl ;"+wch+"}"+RC
//on efface la table des couleurs
nouvelle=Remplace(nouvelle,wch2,"") // vire la table des couleurs
//nombre de couleurs //chaque couleur : red green blue
nbcolor=ChaîneOccurrence(wch,";")
FIN


//les alignements
// recherche si les balises pard
chrech="pardq"
posdeb= Position(nouvelle,chrech)
TANTQUE posdeb>0
tailleCh=Taille(chrech)+2
SELON Milieu(nouvelle,posdeb+Taille(chrech),1)
CAS "c"
parag="<p align=""center"">"
CAS "r"
parag="<p align=""right"">"
CAS "l"
parag="<p align=""left"">"
CAS "j"
parag="<p align=""justify"">"
FIN // selon milieu(nouvelle,posdeb+taille(chrech),1)

nouvelle=Gauche(nouvelle,posdeb-1)+parag+Milieu(nouvelle,posdeb+8)
// et rajoute une balise de fin avant le prochain pard
posfin=Position(nouvelle,"pard",posdeb)
SI posfin=0 ALORS
nouvelle=nouvelle+"</p>"
SORTIR
FIN
nouvelle=Gauche(nouvelle,posfin-1)+"</p>"+Milieu(nouvelle,posfin)
posdeb= Position(nouvelle,chrech,posfin)
FIN //tantque posdeb>0
nouvelle=Remplace(nouvelle,"pard","<p>")


nouvelle=Remplace(nouvelle,"par"+RC+"f1'b7tabf0 ","<li>") //liste
nouvelle=Remplace(nouvelle,"f0fs20 ","") // première borne
nouvelle=Remplace(nouvelle,"f0","") //
nouvelle=Remplace(nouvelle,"fs24","fs20") // par défaut taille 3
correspond à 12 si copier coller de word
nouvelle=Remplace(nouvelle,"bi","<strong><em>") // gras italique
nouvelle=Remplace(nouvelle,"b0i0","</em></strong>") // gras italique
nouvelle=Remplace(nouvelle, "b0", "</strong>") //bold fin
nouvelle=Remplace(nouvelle, "b", "<strong>") //bold
nouvelle=Remplace(nouvelle, "i0", "</em>") //italique fin
nouvelle=Remplace(nouvelle, "i", "<em>") //italique
nouvelle=Remplace(nouvelle, "ulnone","</u>") //souligné fin
nouvelle=Remplace(nouvelle, "ul","<u>") //souligné
nouvelle=Remplace(nouvelle, "par", "<br>") // retour ligne

// recherche si des balises fs sont suivies de cf avant d'un autre
fs ou cf fs
pos=Position(nouvelle,"fs")
TANTQUE pos>0
wch3=Milieu(nouvelle,pos,5)
pasfermee=Vrai
TANTQUE pasfermee
posdeb=Position(nouvelle,"fs",pos+5)
posfin=Position(nouvelle,"cf",pos+5)
SI posdeb=posfin+4 ALORS
// double tag, c'est Okay
posfin=posdeb+1
FIN
SI posdeb<>0 ALORS
SI posfin<>0 ALORS
SI posfin<posdeb ALORS
nouvelle=Gauche(nouvelle,posfin+3)+wch3+Milieu(nouvelle,posfin+4)
posdeb=posfin+4
pos=posdeb
SINON
pasfermeeúux
FIN
SINON
pasfermeeúux
FIN
SINON
pasfermeeúux
posdeb=pos
FIN

FIN //fin TANTQUE pasfermee
// recherche le suivant fs
pos=Position(nouvelle,"fs",posdeb+5)
FIN //tantque pos>0

// recherche si des balises cf ne sont pas fermées avant le fs (mais
pas ds le cas des dbles tags)
pos=Position(nouvelle,"cf")
TANTQUE pos>0
wch3=Milieu(nouvelle,pos,4)
pasfermee=Vrai
TANTQUE pasfermee
posdeb=Position(nouvelle,"cf",pos+4)
SI Milieu(nouvelle,pos+5,3)="fs" ALORS
posfin=Position(nouvelle,"fs",pos+10)
SINON
posfin=Position(nouvelle,"fs",pos+5)
FIN
SI posdeb<>0 ALORS
SI posfin<>0 ALORS
SI posfin<posdeb ALORS
nouvelle=Gauche(nouvelle,posfin-1)+wch3+Milieu(nouvelle,posfin)
posdeb=posfin+5
pos=posdeb
SINON
pasfermeeúux
FIN
SINON
pasfermeeúux
FIN
SINON
pasfermeeúux
posdeb=pos
FIN

FIN //fin TANTQUE pasfermee
// recherche le suivant fs
pos=Position(nouvelle,"cf",posdeb+5)
FIN //tantque pos>0



POUR i=0 A nbcolor
// traite les tags Gras ou Italique imbriqués dans les tags couleurs
posdeb= Position(nouvelle,"cf"+i)
TANTQUE posdeb>0
pos=posdeb+4
// quote ouvrante
wch2="cf"+i+"<u><strong><em>fs";tailleCh=Taille(wch2)
SI Milieu(nouvelle,posdeb,tailleCh)=wch2 ALORS
pos=posdeb+tailleCh+2
nouvelle=Gauche(nouvelle,posdeb-1)+"cf"+i+"fs"+...
Milieu(nouvelle,posdeb+tailleCh,2)+"<u><strong><em>"+Milieu(nouvelle,pos)
FIN
wch2="cf"+i+"<u><em>fs";tailleCh=Taille(wch2)
SI Milieu(nouvelle,posdeb,tailleCh)=wch2 ALORS
pos=posdeb+tailleCh+2
nouvelle=Gauche(nouvelle,posdeb-1)+"cf"+i+"fs"+...
Milieu(nouvelle,posdeb+tailleCh,2)+"<u><em>"+Milieu(nouvelle,pos)
FIN
wch2="cf"+i+"<u><strong>fs";tailleCh=Taille(wch2)
SI Milieu(nouvelle,posdeb,tailleCh)=wch2 ALORS
pos=posdeb+tailleCh+2
nouvelle=Gauche(nouvelle,posdeb-1)+"cf"+i+"fs"+...
Milieu(nouvelle,posdeb+tailleCh,2)+"<u><strong>"+Milieu(nouvelle,pos)
FIN
wch2="cf"+i+"<u>fs";tailleCh=Taille(wch2)
SI Milieu(nouvelle,posdeb,tailleCh)=wch2 ALORS
pos=posdeb+tailleCh+2
nouvelle=Gauche(nouvelle,posdeb-1)+"cf"+i+"fs"+...
Milieu(nouvelle,posdeb+tailleCh,2)+"<u>"+Milieu(nouvelle,pos)
FIN

wch2="cf"+i+"<strong><em>fs";tailleCh=Taille(wch2)
SI Milieu(nouvelle,posdeb,tailleCh)=wch2 ALORS
pos=posdeb+tailleCh+2
nouvelle=Gauche(nouvelle,posdeb-1)+"cf"+i+"fs"+...
Milieu(nouvelle,posdeb+tailleCh,2)+"<strong><em>"+Milieu(nouvelle,pos)
FIN
wch2="cf"+i+"<strong>fs";tailleCh=Taille(wch2)
SI Milieu(nouvelle,posdeb,tailleCh)=wch2 ALORS
pos=posdeb+tailleCh+2
nouvelle=Gauche(nouvelle,posdeb-1)+"cf"+i+"fs"+...
Milieu(nouvelle,posdeb+tailleCh,2)+"<strong>"+Milieu(nouvelle,pos)
FIN
wch2="cf"+i+"<em>fs";tailleCh=Taille(wch2)
SI Milieu(nouvelle,posdeb,tailleCh)=wch2 ALORS
pos=posdeb+tailleCh+2
nouvelle=Gauche(nouvelle,posdeb-1)+"cf"+i+"fs"+...
Milieu(nouvelle,posdeb+tailleCh,2)+"<em>"+Milieu(nouvelle,pos)
FIN
// quote fermante
wch2="cf"+i+"</em></strong>fs";tailleCh=Taille(wch2)
SI Milieu(nouvelle,posdeb,tailleCh)=wch2 ALORS
pos=posdeb+tailleCh+2
nouvelle=Gauche(nouvelle,posdeb-1)+"</em></strong>"+"cf"+i+"fs"+...
Milieu(nouvelle,posdeb+tailleCh,2)+Milieu(nouvelle,pos)
FIN
wch2="cf"+i+"</strong>fs";tailleCh=Taille(wch2)
SI Milieu(nouvelle,posdeb,tailleCh)=wch2 ALORS
pos=posdeb+tailleCh+2
nouvelle=Gauche(nouvelle,posdeb-1)+"</strong>"+"cf"+i+"fs"+...
Milieu(nouvelle,posdeb+tailleCh,2)+Milieu(nouvelle,pos)
FIN
wch2="cf"+i+"</em>fs";tailleCh=Taille(wch2)
SI Milieu(nouvelle,posdeb,tailleCh)=wch2 ALORS
pos=posdeb+tailleCh+2
nouvelle=Gauche(nouvelle,posdeb-1)+"</em>"+"cf"+i+"fs"+...
Milieu(nouvelle,posdeb+tailleCh,2)+Milieu(nouvelle,pos)
FIN
posdeb= Position(nouvelle,"cf"+i,pos)
FIN // tantque posdeb>0

FIN

//TRAITEMENT DES COULEURS
// Traite les tags couleur taille qui se succèdent
POUR i=1 A nbcolor

//wch2 est la chaine des couleurs repérée en début de code
wch2=ExtraitChaîne(wch,i,";")+""

//test ecriture rouge
ad1=ExtraitEntre(wch2,"red","") //extraction couleur
SI ad1="255" ALORS
// code couleur web
colHexa="FF0000"+...
NumériqueVersChaine(Val(ExtraitEntre(wch2,"green","")), "02X")+...
NumériqueVersChaine(Val(ExtraitEntre(wch2,"blue","")), "02X")
SINON
// code couleur web
colHexa=NumériqueVersChaine(Val(ExtraitEntre(wch2,"red","")),
"02X")+...
NumériqueVersChaine(Val(ExtraitEntre(wch2,"green","")), "02X")+...
NumériqueVersChaine(Val(ExtraitEntre(wch2,"blue","")), "02X")
FIN

//ajout ad
//ad1=ExtraitEntre(wch2,"red","") //extraction couleur
//ad2=val(ad1,"02X") //conversion hexa
//ad3=NumériqueVersChaine(ad2) //conversion chaine

//début de la chaine qui change de couleur
chrech="cf"+i+"fs"
posdeb= Position(nouvelle,chrech)
//AD pour comprendre
//info(nouvelle,chrech,posdeb)
posdeb=0 //mis à 0 car semble planter les changements de couleur
TANTQUE posdeb>0
//nombre de caractère de la chaine de recherche
tailleCh=Taille(chrech)+2 ; tailleCh2=tailleCh
//extrait dans nouvelle :
SI Milieu(nouvelle,posdeb+tailleCh,1)=" " ALORS tailleCh2++
SELON Milieu(nouvelle,posdeb+4,5)
CAS "fs12"
font="<font color="""+colHexa+""" size=""1"">"
CAS "fs16"
font="<font color="""+colHexa+""" size=""2"">"
CAS "fs20"
font="<font color="""+colHexa+""" size=""3"">"
CAS "fs28"
font="<font color="""+colHexa+""" size=""4"">"
CAS "fs32"
font="<font color="""+colHexa+""" size=""5"">"
CAS "fs40"
font="<font color="""+colHexa+""" size=""6"">"
CAS "fs56"
font="<font color="""+colHexa+""" size=""7"">"
FIN //selon milieu(nouvelle,posdeb+5)
nouvelle=Gauche(nouvelle,posdeb-1)+font+Milieu(nouvelle,posdeb+tailleCh2)
// et rajoute une balise de fin avant le prochain cf
posfin=Position(nouvelle,"cf",posdeb)
SI posfin=0 ALORS
nouvelle=nouvelle+"</font>"
SORTIR
FIN
SI Milieu(nouvelle,posfin,tailleCh)="cf0fs20" ALORS
// retour caractère normal, il ne faut pas rouvrir de balise font
nouvelle=Gauche(nouvelle,posfin-1)+"</font>"+Milieu(nouvelle,posfin+tailleCh2)
SINON
nouvelle=Gauche(nouvelle,posfin-1)+"</font>"+Milieu(nouvelle,posfin)
FIN
posdeb= Position(nouvelle,chrech,posfin)
FIN //tantque posdeb>0

//changements effectifs des couleurs
wch2=ExtraitChaîne(wch,i,";")+""
// code couleur web
font="<font color="""+colHexa+""">"
nouvelle=Remplace(nouvelle,"cf"+i+" ",font)
nouvelle=Remplace(nouvelle,"cf"+i,font)

FIN // pour i=1 a nbcolor

nouvelle=Remplace(nouvelle,"cf0 ","</font>") //avec espace
nouvelle=Remplace(nouvelle,"cf0","</font>") // sans espace

// balise de taille
nouvelle=Remplace(nouvelle,"fs20 ","</font>") // par défaut taille 3
correspond à 10
nouvelle=Remplace(nouvelle,"fs20","</font>") // par défaut taille 3
correspond à 10
nouvelle=Remplace(nouvelle,"fs12 ","<font size=""1"">") // taille 1
nouvelle=Remplace(nouvelle,"fs12","<font size=""1"">") // taille 1
nouvelle=Remplace(nouvelle,"fs16 ","<font size=""2"">") // taille 2
nouvelle=Remplace(nouvelle,"fs16","<font size=""2"">") // taille 2
//nouvelle=remplace(nouvelle,"fs20","<font size=""3"">") // taille 3
nouvelle=Remplace(nouvelle,"fs28 ","<font size=""4"">") // taille 4
nouvelle=Remplace(nouvelle,"fs28","<font size=""4"">") // taille 4
nouvelle=Remplace(nouvelle,"fs32 ","<font size=""5"">") // taille 5
nouvelle=Remplace(nouvelle,"fs32","<font size=""5"">") // taille 5
nouvelle=Remplace(nouvelle,"fs40 ","<font size=""6"">") // taille 6
nouvelle=Remplace(nouvelle,"fs40","<font size=""6"">") // taille 6
nouvelle=Remplace(nouvelle,"fs56 ","<font size=""7"">") // taille 7
nouvelle=Remplace(nouvelle,"fs56","<font size=""7"">") // taille 7

// y-a-t il des tags <font> non fermés (cas particulier que je
n'arrive pas à éviter)
nouvelle=Remplace(nouvelle,"</font></font>","</font>")
nouvelle=TagNonFerme(nouvelle,"<font","</font>")
// y-a-t il des tags <p> non fermés
nouvelle=TagNonFerme(nouvelle,"<p>","</p>")



//virer les images dans les textes
Avirer=ExtraitEntre(nouvelle,"{pictwmetafile8","}")
SI Avirer<>"" ALORS
Avirer="{pictwmetafile8"+Avirer
nouvelle=Remplace(nouvelle,Avirer,"IMAGE")
FIN

//tableaux word
Avirer=ExtraitEntre(nouvelle,"trowdtrgaph70","}")
SI Avirer<>"" ALORS
Avirer="trowdtrgaph70"+Avirer+"}"
nouvelle=Remplace(nouvelle,Avirer,"GRAPHIQUE")
FIN



nouvelle=Remplace(nouvelle,"'c6","")
nouvelle=Remplace(nouvelle,"'c2","")
nouvelle=Remplace(nouvelle,"'c5","")
nouvelle=Remplace(nouvelle,"'c4","")
nouvelle=Remplace(nouvelle,"'d0","")
nouvelle=Remplace(nouvelle,"'ca","")
nouvelle=Remplace(nouvelle,"'cb","")
nouvelle=Remplace(nouvelle,"'ce","")
nouvelle=Remplace(nouvelle,"'cf","")
nouvelle=Remplace(nouvelle,"'d3","&Oacute;")
nouvelle=Remplace(nouvelle,"'d2","&Ograve;")
nouvelle=Remplace(nouvelle,"'d5","&Otilde;")
nouvelle=Remplace(nouvelle,"'da","&Uacute;")
nouvelle=Remplace(nouvelle,"'cb","&Ucirc;")
nouvelle=Remplace(nouvelle,"'dc","&Uuml;")
nouvelle=Remplace(nouvelle,"'e1","&aacute;")
nouvelle=Remplace(nouvelle,"'e6","&aelig;")
nouvelle=Remplace(nouvelle,"'e5","&aring;")
nouvelle=Remplace(nouvelle,"'e4","&auml;")
nouvelle=Remplace(nouvelle,"'e9","&eacute;")
nouvelle=Remplace(nouvelle,"'e8","&egrave;")
nouvelle=Remplace(nouvelle,"'eb","&euml;")
nouvelle=Remplace(nouvelle,"'ee","&icirc;")
nouvelle=Remplace(nouvelle,"'ef","&iuml;")
nouvelle=Remplace(nouvelle,"'f3","&oacute;")
nouvelle=Remplace(nouvelle,"'f2","&ograve;")
nouvelle=Remplace(nouvelle,"'f5","&otilde;")
nouvelle=Remplace(nouvelle,"'df","&szlig;")
nouvelle=Remplace(nouvelle,"'f9","&ugrave;")
nouvelle=Remplace(nouvelle,"'fd","&yacute;")
nouvelle=Remplace(nouvelle,"'c1","&Aacute;")
nouvelle=Remplace(nouvelle,"'c0","&Agrave;")
nouvelle=Remplace(nouvelle,"'c3","&Atilde;")
nouvelle=Remplace(nouvelle,"'c7","&Ccedil;")
nouvelle=Remplace(nouvelle,"'c9","&Eacute;")
nouvelle=Remplace(nouvelle,"'c8","&Egrave;")
nouvelle=Remplace(nouvelle,"'cd","&Iacute;")
nouvelle=Remplace(nouvelle,"'cc","&Igrave;")
nouvelle=Remplace(nouvelle,"'d1","&Ntilde;")
nouvelle=Remplace(nouvelle,"'d4","&Ocirc;")
nouvelle=Remplace(nouvelle,"'d8","&Oslash;")
nouvelle=Remplace(nouvelle,"'d6","&Ouml;")
nouvelle=Remplace(nouvelle,"'de","&THORN;")
nouvelle=Remplace(nouvelle,"'d9","&Ugrave;")
nouvelle=Remplace(nouvelle,"'dd","&Yacute;")
nouvelle=Remplace(nouvelle,"'e2","&acirc;")
nouvelle=Remplace(nouvelle,"'e0"," &agrave;")
nouvelle=Remplace(nouvelle,"'e3"," &atilde;")
nouvelle=Remplace(nouvelle,"'e7","&ccedil;")
nouvelle=Remplace(nouvelle,"'ea","&ecirc;")
nouvelle=Remplace(nouvelle,"'f0","&eth;")
nouvelle=Remplace(nouvelle,"'ed","&iacute;")
nouvelle=Remplace(nouvelle,"'ec","&igrave;")
nouvelle=Remplace(nouvelle,"'f1","&ntilde;")
nouvelle=Remplace(nouvelle,"'f4","&ocirc;")
nouvelle=Remplace(nouvelle,"'f8","&oslash;")
nouvelle=Remplace(nouvelle,"'f6","&ouml;")
nouvelle=Remplace(nouvelle,"'fe","&thorn;")
nouvelle=Remplace(nouvelle,"'fb","&ucirc;")
nouvelle=Remplace(nouvelle,"'fc","&uuml;")
nouvelle=Remplace(nouvelle,"'ff","&yuml;")
nouvelle=Remplace(nouvelle,"'8","&egrave;")
nouvelle=Remplace(nouvelle,"'88","&agrave;")
nouvelle=Remplace(nouvelle, "~", "")
nouvelle=Remplace(nouvelle, "'b5", "µ")
nouvelle=Remplace(nouvelle, "'b0", "°")
nouvelle=Remplace(nouvelle, "'a3", "£")
nouvelle=Remplace(nouvelle, "'a7", "§")
nouvelle=Remplace(nouvelle, "'b2", "²")
nouvelle=Remplace(nouvelle, "'a4", "¤")
nouvelle=Remplace(nouvelle, "rquote", "'")

//mouchard=mouchard+" Apres conversion RTF vers HTML
"+rc+nouvelle+rc+rc

positionFin=Position(nouvelle,"}}")
Avirer=Gauche(nouvelle,positionFin)
nouvelle=Remplace(nouvelle,Avirer,"")
nouvelle=Remplace(nouvelle,"}", "")
nouvelle=Remplace(nouvelle,"f1", "")
nouvelle=Remplace(nouvelle,"fs17", "")
nouvelle=Remplace(nouvelle,"fs22", "")
nouvelle=Remplace(nouvelle,"fs22f1", "")
nouvelle=Remplace(nouvelle,"fs23", "")
nouvelle=Remplace(nouvelle,"fs22fs23", "")
nouvelle=Remplace(nouvelle,"uc1", "")
nouvelle=Remplace(nouvelle,"lang1036", "")
nouvelle=Remplace(nouvelle,"lang1033", "")
nouvelle=Remplace(nouvelle,"'00", "")
nouvelle=Remplace(nouvelle,"ltrpar","")
nouvelle=Remplace(nouvelle,"<p>", "")
nouvelle=Remplace(nouvelle,"</p>", "")
nouvelle=Remplace(nouvelle,"f2", "")
nouvelle=Remplace(nouvelle,"f3", "")
nouvelle=Remplace(nouvelle,"'bb", "")
nouvelle=Remplace(nouvelle,"'ab", "")
nouvelle=Remplace(nouvelle,"'bb", "")
nouvelle=Remplace(nouvelle,"tab", "")
nouvelle=Remplace(nouvelle,"qc", "")

//borne début et fin
//nouvelle="<html><body>"+nouvelle+"</body></html>"
//pour tester
//nouvelle=wch2+colHexa+nouvelle

RENVOYER nouvelle
Avatar
Roumegou
Alain DOMISE a écrit :
Bonjour,

Voici une version fondée sur l'original RTF2HTML que j'ai récupéré sur
ce site et dont je remercie l'auteur. La version corrige quelques
problèmes et fonctionne correctement.



Merci de ton travail.
Pourrais tu me dire les problèmes que tu as corrigés et si tu le permet
je me servirais de ton travail pour mettre à jour ma version de
RTF2HTML ainsi que celle sur le site de l'asso.

Eric

--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Romain PETIT
Le 11/07/2004, Alain DOMISE a supposé :
Bonjour,

Voici une version fondée sur l'original RTF2HTML que j'ai récupéré sur
ce site et dont je remercie l'auteur. La version corrige quelques
problèmes et fonctionne correctement.



Heu, pardon, mais .... avec l'autorisation de l'auteur ?

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Geno
Oui, mais j'ai passé du temps dessus :-( (moins de 2 Euros !!!)


"elecoest" a écrit dans le message de news:
ccr7c3$ur0$
"Geno" a écrit dans le message de news:
ccmgt1$16ki$
> il y a un composant à cette adresse
> genosoft.surf-valley.com/comp-rtf.php
>
> un composant qui marche quelque soit les versions de Windev

Oui mais il est payant :-(




Avatar
Manu
Romain PETIT wrote:
Le 11/07/2004, Alain DOMISE a supposé :
Bonjour,

Voici une version fondée sur l'original RTF2HTML que j'ai récupéré
sur ce site et dont je remercie l'auteur. La version corrige quelques
problèmes et fonctionne correctement.



Heu, pardon, mais .... avec l'autorisation de l'auteur ?



Romain, ne fait pas ton bougre:-)

Il a peut être gaffé en mettant ici le contenu de la fonction sans préciser
la source exacte ni informé l'auteur mais pour une fois que l'échange est
dans les 2 sens tu ne vas pas lui faire peur ;-).
1 2 3