AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Memoinhalt mit Tags auszeichnen und mit rtf darstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Memoinhalt mit Tags auszeichnen und mit rtf darstellen

Ein Thema von urs.liska · begonnen am 9. Aug 2003 · letzter Beitrag vom 12. Aug 2003
Antwort Antwort
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#1

Memoinhalt mit Tags auszeichnen und mit rtf darstellen

  Alt 9. Aug 2003, 16:03
Hallo liebe DPler,

ich bin auf der Suche nach einer Methode, Text in einem Memofeld mit Tags auszeichnen und formatiert anzeigen zu lassen.
Es soll fast genau das machen, was die Texteingabe in diesem Forum tut, nur nicht nacheinander, sondern parallel.
Etwas konkreter: Ich möchte, dass wenn der Benutzer Text markiert und dann z.B. auf einen Button "fett" drückt, er dann 1. den Text fett im Memo angezeigt bekommt, gleichzeitig aber die entsprechenden Tags <fett> und </fett> hinterlegt (aber nicht angezeigt) werden. Wenn der Memo-Inhalt dann gespeichert wird, sind darin keine rtf-Infos, sondern nur die Tags vorhanden.
Hintergrund ist, dass ich bei einer Datenbank die formatierten Memos durch neue XML-Memos ersetzen möchte, so dass der Benutzer nur noch eine bestimmte Auswahl an Auszeichnungen verwenden kann, und ich die Memo-Inhalte auch in XML-Dokumente exportieren kann.

Es ist ja kein Problem, den Inhalt des Memos z.B. beim Auslesen aus der Datenbank zu parsen und in einem Richedit als rtf zu formatieren.
Aber ich kann ja nicht bei jeder Änderung des Memos den kompletten Inhalt nochmal parsen (wegen Flackern und Verlangsamung).
Aber ich stelle mir vor, dass es möglich sein müsste, den Inhalt des Memos von seiner Darstellung zu trennen.
Bin ich auf dem ganz falschen Dampfer, wenn ich daran denke, den Memoinhalt zweimal zu verwalten: 1. den ASCII-Text mit den Tags (Inhalt) und 2. rtf-Text zur Darstellung im Memo? Ich hätte dabei keine Vorstellung, ob sich die Synchronisation beider Elemente bewerkstelligen lässt.

Eigentlich ist das ja bei jedem Texteditor so, dass man Formatvorlagen zuweisen kann. In diesem Fall ist doch im Dokument nur der Name der Vorlage gespeichert, auf dem Bildschirm sieht man aber eine Reihe von Formatierungen. Kann mir jemand einen Tipp geben, wie das normalerweise realisiert wird.

Herzlichen Dank im voraus
Urs
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Memoinhalt mit Tags auszeichnen und mit rtf darstellen

  Alt 9. Aug 2003, 16:17
Moin Urs,

mit einem Memo wird das nicht gehen.
Hier gelten die Einstellungen immer für den gesamten Inhalt.

Bei einem RichEdit könntest Du Dir beim Speichern die Formatierungen auslesen, und mit eigenen Tags und deren Position separat speichern.
Anschliessend kann dann der Text als PlainText gespeichert werden, also nach einem ähnlichen Prinzip, wie es bei RichEdit-Mails gemacht wird.

Ansonsten könntest Du Dir noch die Mühe machen eine Kompo zu schreiben, die unabhängig von RichEdit und Memo funktioniert. Hier könnte SynEdit als Beispiel dienen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#3

Re: Memoinhalt mit Tags auszeichnen und mit rtf darstellen

  Alt 9. Aug 2003, 16:45
Zitat von Christian Seehase:
Moin Urs,

mit einem Memo wird das nicht gehen.
Hier gelten die Einstellungen immer für den gesamten Inhalt.
.
Das ist mir klar, vielleicht hätte ich deutlicher sagen sollen, dass ich nicht TMemo meine, sondern den Steuerelementtypus "Memo".

Zitat von Christian Seehase:
Bei einem RichEdit könntest Du Dir beim Speichern die Formatierungen auslesen, und mit eigenen Tags und deren Position separat speichern.
An so etwas habe ich auch schon gedacht, aber ist das nicht umständlich und riskant? Ich müsste dann alle Formatierungen (Zeichen für Zeichen?) interpretieren und genau meinen Tags zuordnen.

Zitat von Christian Seehase:
Ansonsten könntest Du Dir noch die Mühe machen eine Kompo zu schreiben, die unabhängig von RichEdit und Memo funktioniert. Hier könnte SynEdit als Beispiel dienen.
Eine Komponente soll das schon werden, da ich ziemlich viele von diesen XML-Memos in meiner Anwendung habe. Aber eine Komponente, die alleine für die grafische/formatierte Darstellung verantwortlich ist? ich glaube, das traue ich mir nicht zu.
Na ja, vielleicht schaue ich mir die Source zu Synedit mal an und sehe, wieviel ich davon verstehe...

MFG
Urs
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Memoinhalt mit Tags auszeichnen und mit rtf darstellen

  Alt 9. Aug 2003, 16:52
Moin Urs,

Zitat von urs.liska:
Steuerelementtypus "Memo".
Was meinst Du jetzt damit?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#5

Re: Memoinhalt mit Tags auszeichnen und mit rtf darstellen

  Alt 9. Aug 2003, 22:28
Eine Fläche, auf der man mehrzeiligen Text eingeben kann, wie etwa ein TMemo oder ein TRichedit oder ein TDBMemo etc...
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Memoinhalt mit Tags auszeichnen und mit rtf darstellen

  Alt 10. Aug 2003, 00:31
Moin Urs,

ach so.
Ich hatte da deshalb ein Verständnisproblem, da Windows, im Wesentlichen, Edit Controls (gekapselt durch z.B. TEdit), Multiline Edit Controls (TMemo), und Rich Edit Controls (TRichEdit) kennt.
Memo gibt es unter diesem Begriff vermutlich (ich kenne jetzt die Bezeichnungen z.b. im Visual Studio nicht) nur bei Borland.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#7

Re: Memoinhalt mit Tags auszeichnen und mit rtf darstellen

  Alt 11. Aug 2003, 11:25
Hallo Christian,

um noch mal auf meine ursprüngliche Frage zurückzukommen:
Verstehe ich es richtig, dass Deine Empfehlung wäre, ein Richedit zu verwenden, darin nur klar definierte Formatierungen zuzulassen und am Ende (z.B. OnExit) die verwendeten Formatierungen zu interpretieren und in die entsprechenden Tags zu übersetzen?

MFG
Urs
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Memoinhalt mit Tags auszeichnen und mit rtf darstellen

  Alt 12. Aug 2003, 17:21
Moin Urs,

ja, das wäre meine Idee dazu.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:09 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