![]() |
HTML-Label Komponente
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe mich an einer eigenen Komponente versucht und würde mich über etwas Hilfe freuen. Die Komponente kann formatierten Text darstellen. Der Text kann mit wnigen einfachen Tags angepasst werden.
Code:
Die Berechung erfolgt in zwei Schleifen, die erste ist zur Vorberechung des Textes, damit die Ausrichtung als Block klappt. Das hätte ich auch mit einer for x:= 0 to 1 - Schleife lösen können, um doppelten code zu vermeiden, mir half es aber bei der Erstellung der Komponente, darauf zu verzichten.
<b>TEXT: BOLD</b>
<i>TEXT: ITALICS</i> <d>TEXT: STROKE</d> <u>TEXT: UNDERLINE</u> <c>COLOR: $BBGGRR: (B)lue (G)reen (R)ed</c> TODO: 1. WordWrap 2. Kombinierte Tags sind im Moment nicht möglich 3. Fehler bei <c>..</c><anderer Tag>Text</anderer Tag> WordWrap macht mir noch Sorgen, weil ich hier das Array für die Zeilen anpassen müsste. In Verbindung mit <br> klappt das leider nicht so einfach. Vielleicht mag mir jemand von euch hier helfen :-) LG Mathias |
AW: HTML-Label Komponente
Das
![]() Eventuell kannst du davon ableiten (Dieses erweitern) oder da drin etwas abgucken. Nja, Delphi 12 wäre jetzt was. Skia ist im Delphi nun standardmäßig enthalten und es gibt ein neues ![]() ![]() |
AW: HTML-Label Komponente
Guten Morgen.
Mit geht es eher um die Machbarkeit und um das Verständnis für "den Weg dorthin". Außerdem hatte ich für ein kleines Programm so etwas benötigt. :-) LG Mathias |
AW: HTML-Label Komponente
Ein paar unsortierte Gedanken:
Den Parser würde ich möglichst separat von der UI anlegen, dann wäre auch eine Portierung VCL/FMX leicht möglich. Man sollte sich schon zumindest etwas nach den HTML / DOM Strukturen richten und nicht versuchen nur simple Text-Ersetzungen zu machen. Sonst wird das Erweitern der Strukturen irgendwann ganz schnell im Nirwana enden. Der Parser also erstmal in eine Art interne DOM-Struktur abbilden und diese dann erst im UI rendern. Das einfach Split nach "<br>" könnte man machen, aber dann sollte man wohl echte CrLf abfangen und unterdrücken. Je besser man das echte HTML Verhalten abbilden kann, umso besser, sodass der Code dann auch 1:1 in Delphi oder im Browser das Gleiche macht. |
AW: HTML-Label Komponente
Hallo Rollo.
Danke für deine Gedanken. Die Komponente ist eigentlich kein Browser und sollte auch nicht dafür herhalten. Statt HTMLPanel hätte es auch anders heißen können, dann wäre die Vorstellung, sich an der DOM Struktur zu orientieren, auch nicht gegeben gewesen. Über die Auslagerung hatte ich auch nachgedacht, wollte jedoch nicht, wie viele andere Komponenten noch weitere Units inkludieren. :-) |
AW: HTML-Label Komponente
Also ich kann die
![]() Ist zwar nicht kostenlos, aber wohl das beste, was du in der Hinsicht bekommen kannst. |
AW: HTML-Label Komponente
Zitat:
|
AW: HTML-Label Komponente
Hallo Dennis,
danke für den Link. In der Tat, beeindruckend! Leider deckt sich das nicht mit meinem Konzept, der Open-Source Strategie. Ich versuce gerne so wenig wie möglich fremden Code / Komponenten einzubinden, damit es auch für andere kompilierbar bleibt. LG :-) |
AW: HTML-Label Komponente
Es gibt eine HTML-Label-Komomente auch als Open Source. Ich habe sie (kurz) getestet und für gut befunden.
![]() |
AW: HTML-Label Komponente
Die JVCL bietet (u.a.) ein HTLabel in JvHtControls.pas.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz