Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Eigene Editor Komponente bauen (https://www.delphipraxis.net/161753-eigene-editor-komponente-bauen.html)

relocate 19. Jul 2011 10:50

Eigene Editor Komponente bauen
 
Hier mal ein Klassiker,

ich möchte eine Editorkomponente bauen, aber weiß nicht wie.
Na ja, nicht ganz.
Habe mir das ein oder andere angelesen, aber alles nur Fetzen.

Daher richtet sich die Frage an die DPler die bereits so etwas gemacht haben.
Bitte keine Verweise auf Komponenten wie Synedit o.ä. die sind für meine Zwecke to much bzw. in manchen to little oder to different.
Es sei denn jemand kennt eine freie Komponente die so etwas kann, aber auch nicht wesentlich mehr.

Der Editor soll formatierten Text beherrschen. Bilder sollen eingefügt werden können und simple Zeichnungen sollen gemacht werden können, ähnlich der WordForms. Der Text soll HTML ähnlich gespeichert werden, was aber mit der Funktion der Editorkomponente eigentlich nichts zu tun hat.

Mein Grundüberlegung ist den Text und die Bilder über zwei Canvas Elemente zu trennen und diese dann zu überlagern, was auch völliger quatsch sein kann.

Zweck der ganzen Übung ist ein Notizprogramm zu entwickeln, da mich nicht ein Notizprogramm bislang überzeugt hat, bzw. die Fähigkeiten hat die ich benötige.

Für Ideen bin ich dankbar
Gruß relocate

uligerhardt 19. Jul 2011 11:02

AW: Eigene Editor Komponente bauen
 
Ist dir ein Delphi-Referenz durchsuchenTRichEdit auch schon "too much"?

FredlFesl 19. Jul 2011 11:03

AW: Eigene Editor Komponente bauen
 
Zitat:

Zitat von relocate (Beitrag 1112507)
Hier mal ein Klassiker,... die sind für meine Zwecke to much bzw. in manchen to little oder to different.

Stimmt. Ein typischer Klassiker: false denglish. Es heißt im Englischen "too much, too little.. etc" aber im Deutschen, was irgendwie besser wäre, hieße das: "zu viel/überladen, zu wenig, zu unterschiedlich". Irgendwie verständlicher, findst Du nicht?

OK, nun zu deiner Frage: TRichEdit soll es ja wohl nicht sein, wobei ich mich frage, was daran so falsch ist, schließlich ist das Teil wirklich zu vielem fähig.

Ich hab sowas zwar noch nie gemacht, weil es nie benötigt habe, aber FALLS, dann würde ich mir einen Canvas schnappen, dort einen Cursor reinbepseln und dann... zunächst ein Textformat definieren, das sich von HTML und RTF unterscheidet (soll ja schließlich was EIGENES sein), und dann darauf aufbauend einen Renderer (oh, Anglizismus) bauen, also eine Darstellungskomponente, die meinen formatierten Text auf dem Canvas darstellt. Ach, und dann benötigst Du vermutlich noch Exporter, die dein *eigenes* Format in Standardformate übersetzt.

Wobei: Wieso nicht gleich ein Standardformat nehmen?

relocate 19. Jul 2011 11:32

AW: Eigene Editor Komponente bauen
 
Zitat:

Zitat von FredlFesl (Beitrag 1112511)
Zitat:

Zitat von relocate (Beitrag 1112507)
Hier mal ein Klassiker,... die sind für meine Zwecke to much bzw. in manchen to little oder to different.

Stimmt. Ein typischer Klassiker: false denglish. Es heißt im Englischen "too much, too little.. etc" aber im Deutschen, was irgendwie besser wäre, hieße das: "zu viel/überladen, zu wenig, zu unterschiedlich". Irgendwie verständlicher, findst Du nicht?

Finde ich auch, ich verwende diese Anglizismen bewusst verballhornt (ja, kann jeder sagen, ich weiß, klingt komisch ist aber so).
Zitat:

Zitat von FredlFesl (Beitrag 1112511)
OK, nun zu deiner Frage: TRichEdit soll es ja wohl nicht sein, wobei ich mich frage, was daran so falsch ist, schließlich ist das Teil wirklich zu vielem fähig.

Sachliche Auseinandersetzung mit dem Thema finde ich sehr gut.
TRichedit kann schon mal keine Bilder und speichert die Daten im RTF Format.

Zitat:

Zitat von FredlFesl (Beitrag 1112511)
Ich hab sowas zwar noch nie gemacht, weil es nie benötigt habe, aber FALLS, dann würde ich mir einen Canvas schnappen, dort einen Cursor reinbepseln und dann... zunächst ein Textformat definieren, das sich von HTML und RTF unterscheidet (soll ja schließlich was EIGENES sein), und dann darauf aufbauend einen Renderer (oh, Anglizismus) bauen, also eine Darstellungskomponente, die meinen formatierten Text auf dem Canvas darstellt. Ach, und dann benötigst Du vermutlich noch Exporter, die dein *eigenes* Format in Standardformate übersetzt.

Dann war meine Idee mit den beiden Canvasen?! ja vielleicht doch nicht so schlecht. Es kann ruhig HTML sein, ich weiß nur nicht ob das ausreicht. HTML ist ja eigentlich eine Struktur- und keine Auszeichnungssprache und auf CSS will ich eigentlich verzichten. Dann kann ich ja gleich eine fortgeschrittene Browserkomponente bauen.

Zitat:

Zitat von FredlFesl (Beitrag 1112511)
Wobei: Wieso nicht gleich ein Standardformat nehmen?

Außer HTML und RTF bleibt nicht viel, wobei meiner Vorstellung HTML schon näher kommt. RTF ist wieder viel zu Komplex. Wobei Bilder im Text Base64 kodiert gespeichert werden sollen. Notizen sollen in einer Textdatei, so weit wie es geht lesbar, und nicht Binär gespeichert werden.

p80286 19. Jul 2011 12:13

AW: Eigene Editor Komponente bauen
 
Zitat:

Zitat von relocate (Beitrag 1112522)
TRichedit kann schon mal keine Bilder und speichert die Daten im RTF Format.

Also willst Du WYSiWYG?

Zitat:

Zitat von relocate (Beitrag 1112522)
Außer HTML und RTF bleibt nicht viel, wobei meiner Vorstellung HTML schon näher kommt. RTF ist wieder viel zu Komplex. Wobei Bilder im Text Base64 kodiert gespeichert werden sollen. Notizen sollen in einer Textdatei, so weit wie es geht lesbar, und nicht Binär gespeichert werden.

Ich vermute, das was Du willst gibt es schon (WORD,OpenOffice.........)
Wie wäre es mit PDF als Speicherformat? Oder Postscript?
Displaypostscript ist zwar in der Versenkung verschwunden aber wahrscheinlich lag es nur an der Umsetzung.

Nichts für ungut aber ich glaube Du hast etwas zu hohe Ansprüche.

Gruß
K-H

P.S.
Nichts ist Einfacher als RTF! Niemand ist gezwungen alle Möglichkeiten aus zu schöpfen.

FredlFesl 19. Jul 2011 12:28

AW: Eigene Editor Komponente bauen
 
Zitat:

Zitat von relocate (Beitrag 1112522)
TRichedit kann schon mal keine Bilder

Bist Du dir sicher?

relocate 19. Jul 2011 12:41

AW: Eigene Editor Komponente bauen
 
Zitat:

Zitat von FredlFesl (Beitrag 1112540)
Zitat:

Zitat von relocate (Beitrag 1112522)
TRichedit kann schon mal keine Bilder

Bist Du dir sicher?

Ja. Jedenfalls nicht nutzbar.
Zitat:

After quite a bit of searching the net, I found that there was no easy way to insert an image into a RichEdit. Inserting a bitmap as an object worked well enough, but the user can still open it up and edit it, and the image had to be an existing file. Using the clipboard worked even better, but wiped out the previous contents. Since my project required that the image was both reasonably uneditable, and left the clipboard intact, I had to resort to editing the RTF.
Ich habe dem Richedit Feld ein Bild zugewiesen, (was ja mit fast jeder Komponente geht, ist schließlich ein grafisches Objekt), danach war das Richedit aber nicht mehr brauchbar.

Lädt man eine RTF Datei mit Bild wird das verschwinden, speichert man dies RTF ist es auch aus der Datei entfernt. Die Delphi eigene Richedit Komponente ist daher nicht brauchbar. Und die Jedi Komponente ist für mich ein zuviel des Guten.

PS.: Z.B. der BBCode wäre ein Super Auszeichnungssprache.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz