Entwickler-Ecke
Dateizugriff - RTF > HTML
maze2k - Di 11.11.03 23:30
Titel: RTF > HTML
Hi,
folgendes Problem:
ich habe ein Eingabe-Feld (TRichEdit).
Hier kann der Benutzer Text eingeben und gestalten.
Jetzt brauche ich eine Funktion, die diesen formatierten Text in HTML-Format umwandelt.
Ich habe hier im Forum schon gesucht, bin aber nur auf Komponenten gestoßen, die bei kommerzieller Nutzung Geld kosten. (Mein Programm will ich verkaufen...)
Gibt es eine (echte!) freeware-Komponente die RTF in HTML umwandeln kann?
Btw. ich hab hier im Forum und auch bei der Suche im Web irgendwo eine Unit rtf2html gefunden. Ich habe sie eingebunden, aber wenn ich die Funktion aufgerufen habe und ihr einen RTF-Text übergeben habe, dann hat das Programm einen Fehler ausgegeben.
Kennst einer eine andere gute freeware Komponente oder kann mir jemand mit der rtf2html-Unit helfen?
thx...
Tino - Mi 12.11.03 10:33
Titel: Re: RTF > HTML
| maze2k hat folgendes geschrieben: |
| Ich habe sie eingebunden, aber wenn ich die Funktion aufgerufen habe und ihr einen RTF-Text übergeben habe, dann hat das Programm einen Fehler ausgegeben. |
Wo gibt es die Komponente und wie lautet der Fehler?
Gruß
Tino
maze2k - Do 13.11.03 20:37
ja das funktioniert ja schon mal, danke *g*
leider hab ich folgende Fehler / Unschönheiten:
Ich hatte einen Fehler, dass er erst ab dem zweiten Zeichen einen Text kursiv gemacht hat, aber das ist irgendwie nicht reproduzierbar :-/
Und dann fehlt mir noch, dass er Schriftarten übernimmt.
Bilder sollte er auch erkennen, genauso wie Hyperlinks...
Gibt es ein RFT-Format für Hyperlinks?
maze2k - Mo 17.11.03 19:49
Hm, kann mir keiner helfen?
Welchen Code muss ich noch einbauen?
Oder gibt es andere habt ihr noch andere Funktionen, die mehr können?
maze2k - Mo 17.11.03 20:32
Ok, ok ich habs selbst gelöst:
bei den Vars kommt noch
hinzu,
bei
kommt
Delphi-Quelltext
1:
| Aktface := Source.Selattributes.Name; |
im Block untendran kommt
Delphi-Quelltext
1:
| ReihenFolge.Add(Pointer(7)); |
dazu
und der nächste Block sieht so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| s:=s+'<font size="'+IntToStr(aktsize)+'" color="#'+ IntToHex(GetRValue(AktColor),2)+ IntToHex(GetGValue(AktColor),2)+ IntToHex(GetBValue(AktColor),2)+ '" face="'+ aktface + '">'; |
in
Delphi-Quelltext
1: 2:
| for loop2:=0 to ReihenFolge.Count-1 do case Integer(ReihenFolge[loop2]) of |
habe ich ans ende noch:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| 7 : if Name<>aktface then begin aktface:=name; s:=s+'</font><font size="'+ IntToStr(aktsize)+'" color="#'+ IntToHex(GetRValue(AktColor),2)+ IntToHex(GetGValue(AktColor),2)+ IntToHex(GetBValue(AktColor),2)+ '" face="'+ aktface + '">'; ReihenFolge.Move(loop2,0); end; |
eingefügt.
Das wars schon *g*
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!