![]() |
RichEdit Text auf gefüllt prüfen
Hallo zusammen,
ich habe foglendes Problem. Ich habe ein Feld TDBRichEdit der den Text in die DB schreibt. Wenn ich diesen Text nun aus der Datenbank lade und auf gefüllt prüfe dann schaut das so aus:
Delphi-Quellcode:
Da es aber nie leer ist greift diese Abfrage nicht.
If aRichEdit = '' then close;
Hab Ihr eine andere Idee? Danke |
AW: RichEdit Text auf gefüllt prüfen
Welchen Typ hat aRichEdit?
|
AW: RichEdit Text auf gefüllt prüfen
aRichEdit : String;
|
AW: RichEdit Text auf gefüllt prüfen
Ist das Feld NOT NULL deklariert? Wenn ja, wie lautet der Standardwert?
|
AW: RichEdit Text auf gefüllt prüfen
vielleicht hilf es weiter was drin steht:
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil MS Sans Serif;}}'#$D#$A'\viewkind4\uc1\pard\lang1031\f0\fs 16 '#$D#$A'\par } |
AW: RichEdit Text auf gefüllt prüfen
Ich bin jetzt nicht so vertraut mit dem RichText-Format, aber da steht mindestens ein Zeilenumbruch drin('#$D#$A').
|
AW: RichEdit Text auf gefüllt prüfen
aber ich vergleich ja so:
Delphi-Quellcode:
und in Memo stehen ja jede Menge zeichen
if ( aMemo = '' ) then exit;
|
AW: RichEdit Text auf gefüllt prüfen
Lädst Du RichText in ein Memo? Dann stehen natürlich die ganzen Formatierungsanweisungen mit drin.
|
AW: RichEdit Text auf gefüllt prüfen
also die Varibale heisst zwar aMemo, ist aber als String deklariert.
Aber die Formatierungen stehen so in der Datenbank. Es müsste als eine Funktion geben, wo die Formatierungen abschneidet. |
AW: RichEdit Text auf gefüllt prüfen
Was für einen typ hat das Feld?
|
AW: RichEdit Text auf gefüllt prüfen
Quick & Dirty-Lösung: den String in ein RichEdit laden, in dem PlainText auf true steht. Dann einfach dessen Text auslesen.
|
AW: RichEdit Text auf gefüllt prüfen
Daran hatte ich auch schon geadach, fand ich aber keine schicke Lösung...
@Kinzler Ich denke du meinst den Typ in der DB, der ist Blob 80 |
AW: RichEdit Text auf gefüllt prüfen
Naja, vielleicht kannst Du auch direkt mit der Riched32.dll arbeiten, aber ob der Aufwand lohnt, muss jeder selber wissen.
|
AW: RichEdit Text auf gefüllt prüfen
Kannst Du nicht einfach die Daten in die Komponente TRichEdit laden und die Frage nach dem gefüllt in etwa so stellen
Delphi-Quellcode:
Sofern keine Zeile Text enthalten ist sollte es funktionieren.
if RichEdit1.Lines.Count=0 then
|
AW: RichEdit Text auf gefüllt prüfen
Wie liest du den Blob aus?
|
AW: RichEdit Text auf gefüllt prüfen
Er will ja kein Richedit verwenden (obwohl sich das bei RichText ja geradezu aufdrängt).
|
AW: RichEdit Text auf gefüllt prüfen
Ich würde den Blob auch nicht unbedingt mit einem Richedit auslesen
|
AW: RichEdit Text auf gefüllt prüfen
Sondern?
|
AW: RichEdit Text auf gefüllt prüfen
Mir geht es um den Zugrigg auf das Datenbankfeld nicht um die Visualisierung
|
AW: RichEdit Text auf gefüllt prüfen
Ja eben, ich lese BLOBs immer in einen Stream ein. Nun steht da aber RichText drin, wie soll ich die Formatierung ohne RichEdit da rausbekommen?
|
AW: RichEdit Text auf gefüllt prüfen
wie erzeugt man ein RichEdit zur Laufzeit ohne große was anzuzeigen?
|
AW: RichEdit Text auf gefüllt prüfen
Hier lade ich einen String aus einem MemoryStream in ein RichEdit und lasse ihn mir ausgeben. Bei Dir wäre das vermutlich ein BlobStream.
Delphi-Quellcode:
procedure TfrmMain.btnLoadClick(Sender: TObject);
var re: TRichEdit; memStream: TMemoryStream; begin re := TRichEdit.Create(nil); try re.Visible := false; re.Parent := self; memStream := TMemoryStream.Create; try memStream.LoadFromFile(Dateiname); re.Lines.LoadFromStream(memStream); ShowMessage(re.Text); finally memStream.Free; end; finally re.Free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:38 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