Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Gibt es eine HTML-Memo o.ä.?


menticore - Di 12.06.07 20:35
Titel: Gibt es eine HTML-Memo o.ä.?
Hallo...

Ich bin am programmieren und habe folgendes Problem:

Ich lese aus einer Datenbank Daten aus, welche im Text und HTML Format (halt mit Tags) vorliegen. Nun möchte ich diese darstellen in einem Memo oder einer anderen Komponente, wobei man wie im RichEdit Sachen fett, unterstrichen etc. darstellen kann. Aber weiterhin sollen auch Links darstellbar sein, bei denen auf Klick ein Befehl ans Programm gesendet werden soll und so weitere Datenbankabfragen ausgeführt werden...

Ich dachte halt am Anfang ans RichEdit.. aber da kann man glaube keine Links darstellen. Dann kam mir der TWebBrowser in Sinn.. aber wie reicht man die Links ans Programm weiter bzw. wie sollte man da die Links überhaupt definieren?

Ich habe im Forum schon gesucht bin aber überhaupt nichts fündig geworden..

Habt ihr eine Idee ob es dafür eine Komponente gibt bzw wie man das Problem lösen kann??

Danke schon mal im Vorraus..

lg, menticore


Robinator - Di 12.06.07 20:40

worum genau geht es dir? In sachen Syntaxhighlighting würde ich dir TSynEdit empfehlen (open Source). Wenn du die HTML Daten interpretieren willst, dann musst du wohl eine der Zahlreichen Webbrowser-Komponenten bemühen (mein Tip: TEmbeddedWB)

gruss, Rob


Martok - Di 12.06.07 20:47

Ich empfehle mal THTMLLite [http://pbear.com/].
Das hab ich mit genau den von dir gewünschten Funktionen in einer DB-Anwendung drin.

Und ich stell grade fest, dass es da auch eine (auch freie) Pro-Version gibt namens THTMLViewer. Sicherlich auch interessant ;)


menticore - Di 12.06.07 20:58

Hi Robinator,

Nein um Syntaxhighlighting geht es mir nicht. Geht mir um genau zu sein um 2 Sachen:
- das Darstellen und Interpretieren von HTML Tags (Geht ja am besten mitm Webbrowser)
- das Darstellen von Links in dem Feld, welche per Klick vom Programm abgefangen und ausgewertet werden können.

Beispiel:
aus
"Text <b>bla</b> noch mehr text {\hyp B 10} noch mehr text"
soll
"Text bla noch mehr text B 10 [http://B10] noch mehr text"
werden,
wobei der Link vom Programm abgefangen werden soll für weitere Auswertungen.

Wenn diese Aufgabe der TEmbeddedWB erfüllt, dann schau ich mal danach.. grade erst von torry runtergeladen..

lg menticore


Robinator - Di 12.06.07 21:09

Ja, erfüllt er, du kannst einfach im Ereigniss OnBeforeNavigate2 die URL abfragen und bei bedarf den Vorgang abbrechen ;)