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/)
-   -   Delphi Wysiwyg Editor Funktionen umsetzen (https://www.delphipraxis.net/152673-wysiwyg-editor-funktionen-umsetzen.html)

Sybok Factor 1. Jul 2010 13:05

Wysiwyg Editor Funktionen umsetzen
 
Hallo Delphi Gemeinde,

ich möchte einen Editor basteln, der die Inhalte einer XML-Datei darstellen und natürlich auch bearbeiten kann. Habt ihr Tipps, wie man Informationen zu dem Thema findet? Beispiele der Fragen, die ich habe:
- Ist TCustomMemo die beste Ausgangsbasis?
- Wie realisiert man die Darstellung von Objekten? (Bitmaps, Calc-Tabellen im Text unterbringen)
- Wie bekomme ich den Caret an die richtige Stelle?

Ich habe nach verschiedenen Stichworten gegoogelt, z.B. "Editor programmieren". Meist beschränken sich die Ergebnisse aber drauf, dass der Fragesteller die Antwort bekommt "Gibt doch genug Editoren" oder aber Fähigkeiten von Java oder PHP genutzt werden.

Ich bin für alle zielführenden Informationen dankbar. Ich bräuchte halt einen Ansatz, wie man Dinge darstellen und bearbeiten kann, die über den reinen Text hinaus gehen.

Viele Grüße
Sybok Factor

s.h.a.r.k 1. Jul 2010 13:09

AW: Wysiwyg Editor Funktionen umsetzen
 
Hallo,

ich weiß nicht genau, was du unter XML-Editor verstehst, denn da gibt es mehrere verschiedener Ansätze. Willst du einfach einen Text-Editor basteln und ein Highlightning verwenden? Dann gibt es für Delphi einen echt guten: SynEdit. Sowas selbst zu basteln dauert mit Sicherheit ewige Zeiten :) Aber diese Komponente kannst du ja mal aus Ausgangspunkt nutzen und dich in den Source einlesen, eben schauen, wie es dort gemacht wurde.

Wenn du den XML-Baum anderweitig darstellen willst, dann gibt es zig Varianten. Dafür müssten wir aber genau wissen, was du vor hast ;)

himitsu 1. Jul 2010 13:14

AW: Wysiwyg Editor Funktionen umsetzen
 
Zitat:

Zitat von Sybok Factor (Beitrag 1032826)
- Wie realisiert man die Darstellung von Objekten? (Bitmaps, Calc-Tabellen im Text unterbringen)

Ich wußte garnicht, daß XML sowas kann. :shock:

Nja, dann eher ein TRichEdit oder Dergleichen.

Zitat:

Zitat von Sybok Factor (Beitrag 1032826)
- Wie bekomme ich den Caret an die richtige Stelle?

Es gibt falsche Stellen?

Sybok Factor 1. Jul 2010 13:39

AW: Wysiwyg Editor Funktionen umsetzen
 
Erstmal danke für die Nachfragen ihr beiden.

@s.h.a.r.k: Ja, ich möchte einen Texteditor bauen, bei dem ich zum Beispiel eine Bitmap anzeigen kann und nicht nur ein z.B. [img=D:\test\MeinBild.bmp]. Es geht mir also darum Funktionen einzubauen, wie sie zum Beispiel Word oder OO Writer können.

@himitsu: html an sich kann auch keine Bitmaps darstellen, aber irgendwie muss der browser es dann doch schaffen die Bilder im Text unterzubringen, oder? In der XML-Datei stehen eigene Tags, die ich im Texteditor bearbeitbar machen möchte, aber in einer von mir gewünschten Form.
Zu der anderen Frage: Naja, wenn ich an einer Stelle editiere und Caret steht an einer anderen Stelle wäre es schon die Falsche... :wink:

Ich habe also eine XML-Dokumentendatei, die ich in meinem Editor darstellen möchte und Änderungen an der grafischen Darstellung werden dann wieder in die XML-Datei zurück geschrieben. Habe ich in der Datei zum [bold] dann ist es ja kein Problem den Text per Canvas.Texout auch Fett auszugeben. Eine Bitmap könnte ich wahrscheinlich auch noch über das Erzeugen eines TBitmap und Platzierung an der richtigen Stelle hinbekommen. Aber was, wenn ich zum Beispiel eine OO Calc Tabelle brauche und darstellen möchte?

Ich hoffe, mein Problem ist jetzt klarer!?

Viele Grüße
Sybok

blackfin 1. Jul 2010 13:44

AW: Wysiwyg Editor Funktionen umsetzen
 
Ein kurzer Einwurf: Wie wäre es mit RTF?

himitsu 1. Jul 2010 14:37

AW: Wysiwyg Editor Funktionen umsetzen
 
HTML ist eine Beschreibungssprache, welche zufällig Elemente für Bilder enthält, welche als solches Definiert sind.

XML hat sowas (von sich aus) nicht.

Sybok Factor 2. Jul 2010 09:25

AW: Wysiwyg Editor Funktionen umsetzen
 
Zitat:

Zitat von himitsu (Beitrag 1032848)
HTML ist eine Beschreibungssprache, welche zufällig Elemente für Bilder enthält, welche als solches Definiert sind.

XML hat sowas (von sich aus) nicht.

Eben, aber das Programm dahinter - üblicherweise der Browser - muss doch wissen, was er mit
Code:
<img href="file://...">
anzufangen hat. Ich würde gern lernen, wie man solche Dinge in einer Delphi Komponente realisieren kann, unabhängig vom konkreten Fall Image...

Wie auch immer, ich möchte in meinem Programm Notizen zu Lernstoffen erfassen. Wenn es dabei nur um Texte ginge, wäre es kein Problem, dann würde ich TRichedit nehmen. Manchmal sind aber Schaubilder anschaulicher und es wäre halt schön, sie dann direkt anzeigen zu können. Und da für die bisher beschriebenen Tätigkeiten auch OpenOffice ausreicht, ergänze ich noch, dass aus den Notizen Lernkarten erzeugt werden sollen, mit denen dann wiederum das Kartenlernsystem umgesetzt werden soll.

Es gibt eine kostenpflichtige Komponente für Delphi, die kann das, was ich erreichen möchte, aber als Hobbyprogrammierer fehlt mir das Kleingeld dafür... Vielleicht weiß ja Jemand von Euch, wie ich OpenOffice in meinem Programm integrieren kann? (Eine Readonly Darstellung bekomme ich hin). In beiden Fällen fehlt mir aber der Lerneffekt, wie es funktioniert.

Vielen Dank noch mal für die bisherigen Antworten.
Viele Grüße

Sybok.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:15 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