AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Format eines DBRichEdit(Textes) speichern und laden
Thema durchsuchen
Ansicht
Themen-Optionen

Format eines DBRichEdit(Textes) speichern und laden

Ein Thema von beanbear6 · begonnen am 9. Feb 2015 · letzter Beitrag vom 12. Mär 2015
Antwort Antwort
Perlsau
(Gast)

n/a Beiträge
 
#1

AW: Format eines DBRichEdit(Textes) speichern und laden

  Alt 9. Feb 2015, 12:11
Naja die RTF-Rohdaten sollte man durchaus ineinem Varchar/Char/Text/Memo-Feld speichern können:
Code:
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1031{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}....
Da wird nicht gezaubert und es ist mit dem ordinären Notepad lesbar. man muß sich nur durch die verschiedenen Begrifflichkeiten durchfinden, um zu erreichen was man will. Irgendwo sollte jede RichText-Komponente auch den Zugriff auf den "SourceCode" ermöglichen, und der kann ganz problemlos als Text gespeichert werden.
Grundsätzlich ist das nicht falsch oder klingt zumindest logisch nachvollziehbar. Dennoch habe ich die Erfahrung gemacht, daß RTF-Inhalte – insbesondere ab Delphi 2009, wo ja die Unicode-Unterstützung begann – in Textfeldern – auch z.B. bei Firebird's Blobfeld im Textmodus – nicht immer korrekt gespeichert werden, in Binärfeldern dagegen schon, und zwar ausnahmslos. Ich kann dir auch nicht genau sagen, weshalb das so ist, aber ich kann dir versichern, daß es so ist.

Zudem mache vermutlich nicht nur ich von der Möglichkeit Gebrauch, in RichEdit-Komponenten auch Grafiken zu speichern, was die Wahl eines Binärfeldes als zwingend erscheinen läßt. Bei Memo-Komponenten wie TDBMemo z.B. genügt ein Textfeld, da gibts keine Formatierungen und man kann da auch keine Bilder einbinden.

Wenn du mal die Forensuche bemühst, wirst du etlichen Usern begegnen, die große Schwierigkeiten dabei hatten, RTF-Inhalte in Textfeldern zu speichern, diese Probleme aber nicht mehr auftraten, nachdem sie ein Binärfeld gewählt hatten. Deshalb ist das immer auch mein erster Ratschlag bei diesem speziellen Problem.


Es ist nur die Frage, was der DBRichText in die Tabelle ablegt. Es scheint so, ob nur der reine Text gespeichert wird.
Scheint mir auch so ... Allerdings habe ich schon lange nicht mehr probiert, RTF-Inhalte in Textfeldern zu speichern
  Mit Zitat antworten Zitat
beanbear6

Registriert seit: 28. Okt 2009
Ort: Passau
170 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Format eines DBRichEdit(Textes) speichern und laden

  Alt 9. Feb 2015, 13:11
Hallo zusammen,
gleich mal vielen Dank für Eure Mühe. Wie aber versteh ich das mit dem Blob-Feld? Is dan für z.B. Paradox ein OLE-Feld? Ich hab da leider viel zu wenig Erfahrung damit. Ich weis schon, dass man das Ganze auch als .rtf als Datei ablegen könnte, aber ich brauch das unbedingt in einer Datenbank. Bitte helft mir mit diesem Blobfeld...
Vielen Dank an alle!!
Reiner
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#3

AW: Format eines DBRichEdit(Textes) speichern und laden

  Alt 9. Feb 2015, 14:03
Welche Blob-Typen gibt es denn überhaupt in Paradox? Soweit ich eben kurz recherchieren konnte, gibt es z.B. die Typen Blob Memo und Blob Graphic. Ich würde dir empfehlen, mit diesen Feldern zu experimentieren, um herauszufinden, welches den Inhalt deiner TDBRichEdit-Komponente korrekt speichert.

Womit bearbeitest du eigentlich deine Tabellen-Strukturen in deiner Paradox-Datenbank; welchen Datenbank-Manager setzt du ein?

Hier im Forum ist auch einiges zu diesem Thema zu finden:

Geändert von Perlsau ( 9. Feb 2015 um 14:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#4

AW: Format eines DBRichEdit(Textes) speichern und laden

  Alt 9. Feb 2015, 15:58
Hatte vor kurzen ein ähnliches Problem Perlsau hatte
mir geholfen Binär Blob ist
die Antwort.
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.202 Beiträge
 
Delphi 12 Athens
 
#5

AW: Format eines DBRichEdit(Textes) speichern und laden

  Alt 9. Feb 2015, 19:55
Binär muß nicht unbedingt sein, denn die Prüfung geht nur auf Delphi-Referenz durchsuchenTField.IsBlob, welches auch gut und gern ein TEXT sein könnte.

TStringField oder PlainText=True -> Text
TBlobField/TMemoField und PlainText=False -> RichText
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
beanbear6

Registriert seit: 28. Okt 2009
Ort: Passau
170 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Format eines DBRichEdit(Textes) speichern und laden

  Alt 10. Feb 2015, 10:35
Hallo,
ich hab das nunmal mit DBRichEdit und nem formatierten Memo (Paradox5) versucht. Ich kann den Text bei Klick formatieren, aber beim wieder laden is die formatierung weg... Was mach ich falsch?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with DBRichEdit1.SelAttributes do
  If Style = [fsBold] then Style := [] else Style := [fsBold];
end;
Gruß beanbear6
Reiner
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.545 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Format eines DBRichEdit(Textes) speichern und laden

  Alt 10. Feb 2015, 10:42
Hast Du evtl. PlainText des RichEdits auf true gesetzt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
640 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

AW: Format eines DBRichEdit(Textes) speichern und laden

  Alt 10. Feb 2015, 14:02
... aber beim wieder laden is die formatierung weg... Was mach ich falsch?
Wie speicherst bzw. lädst du denn? Ich weiß, vielleicht dumme Frage, aber manchmal sieht man(n) den Wald einfach nicht...

Abgesehen davon verwende ich niemals TDBRichEdit sondern immer TRichEdit mit LoadFromStream bzw. SaveToStream. Damit weiß man(n) was man hat und tut
Gruss Otto
Wenn du mit Gott reden willst, dann bete.
Wenn du ihn treffen willst, schreib bei Tempo 220 eine SMS
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#9

AW: Format eines DBRichEdit(Textes) speichern und laden

  Alt 10. Feb 2015, 20:17
ich hab das nunmal mit DBRichEdit und nem formatierten Memo (Paradox5) versucht. Ich kann den Text bei Klick formatieren, aber beim wieder laden is die formatierung weg... Was mach ich falsch?
Seit deinem ersten Posting habe ich mir unzählige ähnliche Fälle in allen möglichen Foren angeschaut und mußte feststellen, daß kein einziger der antwortenden User Abhilfe zu schaffen wußte. Das hat bei mir den Eindruck erweckt, daß Paradox – ein völlig veraltetes Datenbankmanagementsystem, und das ist letztlich auch des Pudels Kern – grundsätzlich Schwierigkeiten mit der korrekten Aufnahme von RichEdit-Inhalten hat. Ich würde dir daher empfehlen, auf ein moderneres DBMS umzusteigen und auch auf die Verwendung der ebenso veralteten Borland Database Enginge zu verzichten, denn es ist nicht sichergestellt, daß beide von neueren Betriebssystemen noch ausreichend unterstützt werden.

Mach dir also nicht das Leben unnötig schwer mit veralteter Software, denn wie du siehst, hält dich das am Ende nur unnötig auf und macht deine Mühen letztlich unproduktiv. Wie immer empfehle ich an dieser Stelle Firebird, ein quelloffenes und vollständig kostenloses DMBS, das ständig weiterentwickelt wird und z.B. mit den ebenfalls kostenlosen Zeos-Komponenten und der ebenfalls kostenlosen Personalversion von IbExpert sehr leicht zu handeln ist.

Abgesehen davon verwende ich niemals TDBRichEdit sondern immer TRichEdit mit LoadFromStream bzw. SaveToStream. Damit weiß man(n) was man hat und tut
TDBRichEdit macht intern auch nichts anderes als via Stream aus dem zugewiesenen Tabellenfeld zu lesen bzw. in dieses Feld hineinzuschreiben.
  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 19:44 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