![]() |
Richedit + formatierter Text in DB speichern
Hi!!
Ich würde gerne den formatierten Text aus meinem Richedit in meine Datenbank schreiben. Wenn ich es mit "insert... richedit1.text" oder ähnlichen machen, steht wirklich nur der Text da. Ich würde aber gerne, wenn ich mir die Daten wieder aus der DB hole, den Text wieder formatiert angezeigt bekommen. Ist das irgendwie möglich? Welche Eigenschaften muss ich nutzen?? Gruß, Sascha |
Re: Richedit + formatierter Text in DB speichern
Eventuell geht es mit einem BlobStream Feld in der DB.
Übrigens ist das hier die falsche Sparte. Es geht um Datenbanken. |
Re: Richedit + formatierter Text in DB speichern
Hai Sascha,
Du kannst Dir ja mal ansehen wie Borland das beim TDBRichEdit gemacht hat. |
Re: Richedit + formatierter Text in DB speichern
Danke lukie fürs verschieben!! :thumb: Habs gerade mal mitn Blobfeld versucht, nur da schreibt er auch nur den Text rein. - Ohne Formatierungsinformationen. :gruebel:
|
Re: Richedit + formatierter Text in DB speichern
Zitat:
Das heißt ich muss in den Code der dcu bzw. pas für die Kompo gucken, oder? |
Re: Richedit + formatierter Text in DB speichern
Man kann doch aich Bilder binär in einer DB speichern und genauso müsste es auch mit einem RichEdit gehen.
|
Re: Richedit + formatierter Text in DB speichern
Zitat:
schaue mal in die DBCtrls.pas ab Zeile 5540. |
Re: Richedit + formatierter Text in DB speichern
Zitat:
|
Re: Richedit + formatierter Text in DB speichern
Zitat:
|
Re: Richedit + formatierter Text in DB speichern
Also das speichern habe ich nun schon hinbekommen. Lese ich die Daten aber wieder aus, dann holt er mir den gesamten Text, inklusive Formatierungsinformationen und packt die in mein RichEdit, ohne das der Text Formatiert ist. :gruebel: Hat da jemand evtl. ne Idee, wie das nun geht?
Gruß, Sascha |
Re: Richedit + formatierter Text in DB speichern
Hallo Sascha,
hast du mal mit der Property PlainText rumgespielt. Da kannst du angeben (zumindest laut Hilfe) ob die Formatierungsfunktionen jetzt beachtet werden oder nicht. |
Re: Richedit + formatierter Text in DB speichern
Hallo Uwe,
wenn ich die Eigenschaft "PlainText" auf True setze, schreibt er wieder nur noch den eigentlichen Text in das Blobfeld der Tabelle. :gruebel: |
Re: Richedit + formatierter Text in DB speichern
Wenn ich die Hilfe richtig interpretiere würde ich an deiner Stelle mal probieren beim Lesen und Schreiben aus und in die RichEdit-Komponente PlainText mal auf FALSE zu setzen und anschließend wieder auf TRUE. Aber ausprobiert habe ich das selber auch noch nicht.
|
Re: Richedit + formatierter Text in DB speichern
Wenn ich sie beim schreiben auf TRUE setze, dann schreibt er auch nur den eigentlichen Text, ohne Formatierungsinformationen in die Datenbank.
|
Re: Richedit + formatierter Text in DB speichern
Zitat:
|
Re: Richedit + formatierter Text in DB speichern
Ahso judi, dann hab ichs falschrum gemacht! :wall: Sorry. Werds gleich mal versuchen..
|
Re: Richedit + formatierter Text in DB speichern
Leider klappt es so rum auch nich. :coder2:
|
Re: Richedit + formatierter Text in DB speichern
Ich habe mich irgendwann mal vor Jahr und Tag damit rumgequält und krieg es so aus dem Stehgreif auch nicht mehr zusammen. Es kann sein das du bei dem Zugriff über WriteToFile oder WriteToStream gehen mußt damit dir dein RichEdit die Formatierung mit reinbastelt. Ich buddele heut abend noch mal und schaue mal ob ich was finde.
|
Re: Richedit + formatierter Text in DB speichern
Moin Uwe!
Also das hier ist der Code, den ich beim auslesen ausführe:
Delphi-Quellcode:
und das der Code beim speichern:
TmpMemoryStream:= TMemoryStream.Create;
TmpStringList:= TStringList.Create; try TmpStringList.Text:= dstGetReadme.Fields.Fields[1].AsString; TmpStringList.SaveToStream(TmpMemoryStream); TmpMemoryStream.Position:= 0; reReadme.PlainText:=true; reReadme.Lines.LoadFromStream(TmpMemoryStream); finally TmpMemoryStream.Free; TmpStringList.Free; end;
Delphi-Quellcode:
Gruß,
TmpMemoryStream:= TMemoryStream.Create;
TmpStringList:= TStringList.Create; try reReadme.Lines.SaveToStream(TmpMemoryStream); TmpMemoryStream.Position:= 0; TmpStringList.LoadFromStream(TmpMemoryStream); reReadme.PlainText:=false; cmdSaveReadme.CommandText:='update readme_tbl set readme = '''+TmpStringList.Text+''' where projekt = '''+SelectetProject+''''; cmdSaveReadme.Execute; finally TmpMemoryStream.Free; TmpStringList.Free; StatusBar1.SimpleText:='Readme: Eintrag für "'+SelectetProject+'" wurde gespeichert'; Timer1.Enabled:=true; end; Sascha |
Re: Richedit + formatierter Text in DB speichern
Hallo Sascha,
ich glaube ich hab's gefunden. Vor dem Schreiben in die RichEdit-Komponente setzt du Plain-Text auf True. Zitat:
|
Re: Richedit + formatierter Text in DB speichern
Moin Uwe!
Also das ganze ambesten so?
Delphi-Quellcode:
:gruebel:
reReadme.PlainText:=true;
reReadme.Lines.LoadFromStream(TmpMemoryStream); reReadme.PlainText:=false; Gruß, Sascha |
Re: Richedit + formatierter Text in DB speichern
Ich würde Plaintext zur Entwurfszeit auf FALSE setzen und dann nicht mehr anfassen!
|
Re: Richedit + formatierter Text in DB speichern
Tach Uwe!
Leider klappts so auch nicht. Mich würde mal interessieren, was da falsch läuft. :gruebel: Gruß, Sascha |
Re: Richedit + formatierter Text in DB speichern
ich hab da mal nen bissel Code
Delphi-Quellcode:
procedure SetRTFText(RichRTFText: string);
var FStream : TMemoryStream; begin FStream := TMemoryStream.Create; FStream.Clear; FStream.WriteBuffer(RichRTFText[1], Length(RichRTFText)); FStream.Position := 0; DeinRichedit1.Lines.LoadFromStream(FStream); FStream.Free; end; function GetRTFText: string; var FStream : TMemoryStream; begin FStream := TMemoryStream.Create; FStream.Clear; DeinRichedit1.Lines.SaveToStream(FStream); Result := PChar(FStream.Memory); FStream.Free; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 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 by Thomas Breitkreuz