Autor Beitrag
maze2k
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 252

WIN 95, WIN NT 4.0, WIN 98, WIN 98SE, WIN 2000, RedHat Linux 7.3, Mandrake Linux 9.2, Knoppix Linux 3.3
D6 Pers
BeitragVerfasst: Di 11.11.03 23:30 
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...

_________________
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten. (Voltaire)
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mi 12.11.03 10:33 
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
StefanH
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1144

Win XP
D5 Standard, D7 Pers, D2005 Pers
BeitragVerfasst: Mi 12.11.03 17:01 
www.delphi-forum.de/...c&highlight=html

vielleciht hilft dir das...

_________________
"Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
"Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
maze2k Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 252

WIN 95, WIN NT 4.0, WIN 98, WIN 98SE, WIN 2000, RedHat Linux 7.3, Mandrake Linux 9.2, Knoppix Linux 3.3
D6 Pers
BeitragVerfasst: 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?

_________________
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten. (Voltaire)
maze2k Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 252

WIN 95, WIN NT 4.0, WIN 98, WIN 98SE, WIN 2000, RedHat Linux 7.3, Mandrake Linux 9.2, Knoppix Linux 3.3
D6 Pers
BeitragVerfasst: 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?

_________________
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten. (Voltaire)
maze2k Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 252

WIN 95, WIN NT 4.0, WIN 98, WIN 98SE, WIN 2000, RedHat Linux 7.3, Mandrake Linux 9.2, Knoppix Linux 3.3
D6 Pers
BeitragVerfasst: Mo 17.11.03 20:32 
Ok, ok ich habs selbst gelöst:

bei den Vars kommt noch
ausblenden Delphi-Quelltext
1:
    AktFace:String// Aktuelle Schriftart					

hinzu,

bei
ausblenden Delphi-Quelltext
1:
   // die Daten des ersten Zeichens herausfinden					

kommt
ausblenden Delphi-Quelltext
1:
   Aktface := Source.Selattributes.Name;					


im Block untendran kommt
ausblenden Delphi-Quelltext
1:
   ReihenFolge.Add(Pointer(7));					

dazu

und der nächste Block sieht so aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
   // Die Fonteinstellungen des ersten Zeichens
   s:=s+'<font size="'+IntToStr(aktsize)+'" color="#'+
   IntToHex(GetRValue(AktColor),2)+
   IntToHex(GetGValue(AktColor),2)+
   IntToHex(GetBValue(AktColor),2)+
   '" face="'+ aktface +
   '">';


in

ausblenden Delphi-Quelltext
1:
2:
       for loop2:=0 to ReihenFolge.Count-1 do  
        case Integer(ReihenFolge[loop2]) of


habe ich ans ende noch:
ausblenden 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*

_________________
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten. (Voltaire)