Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi RTF-Text mit Steuerzeichen in DB speichern (https://www.delphipraxis.net/23395-rtf-text-mit-steuerzeichen-db-speichern.html)

Milhouse2500 2. Jun 2004 15:08


RTF-Text mit Steuerzeichen in DB speichern
 
Hi

Ich würde gerne ein RTF Text in der DB speichern. Aber mit allen Steuerzeichen, so das wenn ich in aus der DB auslese er wieder genauso ausieht. Und dass ganze in einem varchar feld (also als text).

Ich wüsste leider nicht wie ich das hinbekommen soll. Da man mit .Text oder .Lines immer nur den PlainText ohne Steuerzeichen bekommt.

Ich hoffe jemand kann mir da helfen.

So long

Milhouse

franktron 2. Jun 2004 15:12

Re: RTF-Text mit Steuerzeichen in DB speichern
 
Ich glaube zwar das das keine gute idee ist ein RTF in einem Varchar zu speichern aber egl.

Nimm ein TRXRichedit aus dem RX Pack oder das RTF von der JediVCL
da kann mann den StreamTyp Wählen und auch den Text wählen ob plain oder RTF da rauskommt

Milhouse2500 2. Jun 2004 15:23

Re: RTF-Text mit Steuerzeichen in DB speichern
 
ok danke.

Wie ist das wenn ich die nicht benutzen möchte. Gibt es noch andere möglichkeiten? Es langt auch wenn der text mit Steuerzeichen in ein einfaches memo kommt, in die DB kann ich es dann selber schaufeln.

so long

day 2. Jun 2004 22:26

Re: RTF-Text mit Steuerzeichen in DB speichern
 
hallo

Ich habe das ganze (wie bereits erwähnt ) mit einer TRXRichedit komponente gemacht und auf datenbank ebene habe ich ein BLOB verwendet (bei MSSQL ist es ein Image datentyp)
hat wunderbar geklappt. Ich konnte bilder, formatierte Texte, .... ins RXRichEdit kopieren und die formatierungen wurden beibehalten.

NicoDE 2. Jun 2004 22:40

Re: RTF-Text mit Steuerzeichen in DB speichern
 
Zitat:

Zitat von Milhouse2500
Gibt es noch andere möglichkeiten?

An den RTF-Quelltext kommst Du nur, indem Du die Daten in einem Stream kopierst...
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  StrStream: TStringStream;
begin
  StrStream := TStringStream.Create('');
  try
    RichEdit1.Lines.SaveToStream(StrStream);
    StrStream.Seek(0, soFromBeginning);
    Memo1.Text := StrStream.DataString;
  finally
    StrStream.Free();
  end;
end;
good will hunting

ps: zurückschreiben dann natürlich per LoadFromStream...


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