![]() |
Datentyp für Property (RTF)
Hallöle...:P
Mein Frage fällt unter "again what learned" :stupid: Die Tante gibt nur unter "Speichern von RTF in DB" nur Lösungen mit Standard DB Werkzeugen (TField) aus. Ich möchte gern eine Datenbank Tabelle in ein Objekt laden/speichern. Soweit so gut. Mir machen die RTF Felder Sorgen. :? In der DB liegen die RTF Felder als varbinary(max) vor. (Inhalt: 0x7B5C727466315C616E73695C6465666630...) In der Oberfläche sollen die Daten in einem Standard z.B. RTF Memo angezeigt werden. Dazwischen soll, später, die Klasse liegen als Ersatz für TDataSet. Frage: Mir geht um das Ablegen des Streams in die Klasse. :gruebel: Welche Dateitypen kommen für die Properties in Frage? Oder direkt der Stream als Property? Wie lädt das Standard RTF Control den Inhalt? Wandelt das Control den "Stringwert" selbst um? In der Doku wird als Datentyp RawByteString "empfohlen" ist das richtig? :gruebel: Andere Variante: ![]() Danke für Infos. |
AW: Datentyp für Property (RTF)
Ich habe bisher in einer Klasse immer TMemoryStream verwerndet. Bisher nie Probleme damit gehabt. Das RTF läd ja direkt aus dem Stream, so war das für mich das einfachste.
|
AW: Datentyp für Property (RTF)
Ein String sollte schon passen. RTF ist kein binäres Format:
Zitat:
|
AW: Datentyp für Property (RTF)
Zitat:
|
AW: Datentyp für Property (RTF)
Wenn du nicht sicher bist, was in den Daten wirklich vorkommt, kannst du immer noch auf TBytes ausweichen. Da gibt es keine impliziten Umwandlungen oder ähnliche Manipulationen. Über TBytesStream lässt sich das auch von jedem bzw. in jedes andere Format umwandeln.
|
AW: Datentyp für Property (RTF)
Statt eines Streams würde ich einfach
Delphi-Quellcode:
nehmen. Bei einem
TBytes
Delphi-Quellcode:
hat ja wesentlich mehr als einfach nur die Daten, sondern auch noch Positionsangaben und selbst bei einem rein lesenden Zugriff, kann dieser Status verändert werden.
TStream
(da war der Uwe schneller) Ob der Inhalt jetzt RTF ist oder nicht würde für mich (hier) keine Rolle spielen, denn der Datenbank-Typ ist ein varbinary und da passt
Delphi-Quellcode:
wie die Faust aufs Auge.
TBytes
|
AW: Datentyp für Property (RTF)
Danke 8-)
Ich probiere die verschieden Varianten aus. Am Ende hätte die Property so, daß, ohne Umwandlung, das RTF Control die Daten anzeigen kann. Das ist mit dem TBytesStream möglich. :P |
AW: Datentyp für Property (RTF)
Zitat:
Code:
oder mit einem eingebeteten Objekt:
{\rtf1\ansi\ansicpg1252\deff0\deflang2055{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\sa200\sl240\slmult1\lang7\f0\fs22{\pict\wmetafile8\picw1693\pich1693\picwgoal960\pichgoal960 0100090000034a18000000002118000000000400000003010800050000000b0200000000050000 000c0240004000030000001e000400000007010400040000000701040021180000410b2000cc00 400040000000000040004000000000002800000040000000400000000100180000000000003000 0000000000000000000000000000000000c66321bd5a18b55210945218847b63cedecea5bdad5a 4a398c3918c65229ce5221c65229a54a29d69c84ffe7debdb5a5cebdb5ffffffb5b5d67b8cbd84 usw...
Code:
Ein String passt da problemlos.
{\rtf1\ansi\ansicpg1252\deff0\deflang2055{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang7\f0\fs22{\object\objemb{\*\objclass Paint.Picture}\objw2835\objh2835{\*\objdata 01050000 02000000 07000000 50427275736800 00000000 00000000 a0a30100 424d8ea30100000000003600000028000000bd000000bd000000010018000000000058a3010000 000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff usw... |
AW: Datentyp für Property (RTF)
Aus der Doku:
Code:
Bilder können, müssen aber nicht als Text abgebildet sein.
Picture Data
\binN The picture is in binary format. The numeric parameter N is the number of bytes that follow. Unlike all other controls, this control word takes a 32-bit parameter. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 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-2025 by Thomas Breitkreuz