AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

D10.3 Probleme mit Richedit

Ein Thema von cckLoud · begonnen am 14. Jan 2022 · letzter Beitrag vom 15. Jan 2022
Antwort Antwort
cckLoud

Registriert seit: 19. Nov 2020
Ort: Worms
44 Beiträge
 
Delphi 10.3 Rio
 
#1

D10.3 Probleme mit Richedit

  Alt 14. Jan 2022, 20:17
Hi, ich hoffe mit meinem Problem bin ich in dieser Gruppe richtig...

Ich portiere gerade meine Anwendung von d7 auf d10.3. Dabei kommt es zu einem Problem beim Richedit, das sich weigert, formatierten Text anzuzeigen und immer nur den rtf-Code zeigt.

Hintergrund: es wird ein Word-Dokument aus vielen Bausteinen erstellt, die in rtf abgefasst und in einer Datenbank gespeichert sind. Zum Generieren werden die Bausteine aus der DB gelesen, aufbereitet und ins Word-Dokument kopiert.
Zur Pflege der Bausteine gibt es einen Diialog, der die vorhandenen Bausteine aus der DB lesen kann und in einem RichEdit anzeigt. Und hier ist das Problem: In D10.3 wird mit dem Code, der unter D7 einwandfrei funktioniert, nicht der aufbereitete Text angezeigt, sondern der RTF-Code...

Der zugrunde liegende Code sieht (schematisch) so aus:

Code:
...
var SelectSQL: TSelectSQL; HlpStr: ansistring;    
...
//TSelectSQL ist ein eigenes Tool, das den DB-Zugriff übernimmt
      SelectSQL := TSelectSQL.create('RTFTexte');
      try
         SelectSQL.AddAllFields;
         SelectSQL.WhereClause := 'TextID = ' + XEditBausteinnummer.AsString + ' and Nummer = 0';
         SelectSQL.OpenSQL(ADOQuery1)
      finally
         SelectSQL.Free;
      end;
      HlpStr := ADOQuery1.fieldbyname('TextTeil').AsString;
      RichEditListenBaustein.Text := HlpStr;
...
Im Richedit wird dann Folgendes angezeigt:

{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff1\de ff0\stshfdbch31505\stshfloch31506\stshfhich31506\s tshfbi0\deflang1031\deflangfe1031\themelang1031\th emelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\flomajor\f31500\fbi di \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
... usw ...

Also der rtf-Code. Das bleibt auch so, wenn ich HlpString auf "String" ändere.

Unter D7 wird mit dem identischen Code angezeigt:

1 Wahl der Wertermittlungsverfahren
Ziel jeder Verkehrswertermittlung ist nach § 194 BauGB ein marktgerechter Preis, der Verkehrswert / Marktpreis. Dieser wird durch den Preis bestimmt, der in dem Zeitpunkt, auf den sich die Wertermittlung bezieht, im gewöhnlichen Geschäftsverkehr nach den rechtlichen Gegebenheiten und tatsächlichen Eigenschaften, der sonstigen Beschaffenheit und der Lage des Grundstückes oder des sonstigen Gegenstandes der Wertermittlung ohne Rücksicht auf ungewöhnliche oder persönliche Verhältnisse zu erzielen wäre.
... usw ...

Also so wie es sein soll!

Die Einstellungen des RichEdit sind gleich, hab ich geprüft.

Was hat sich geändert zwischwn D7 und D10.3?
Klaus Kaiser
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.003 Beiträge
 
Delphi 2009 Professional
 
#2

AW: D10.3 Probleme mit Richedit

  Alt 14. Jan 2022, 22:10
https://stackoverflow.com/questions/...into-trichedit

LoadFromStream sollte funktionieren. Mit alten Delphi Versionen habe ich auch schon auf diese Weise aus DB RTF eingelesen.
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: D10.3 Probleme mit Richedit

  Alt 15. Jan 2022, 00:20
Da ein DataSet existiert, könnte man doch bestimmt auch TDBRichEdit verwenden,

oder man darf gerne mal im TDBRichEdit.LoadMemo (Vcl.DBCtrls.pas) sich was abgucken.


Und natürlich gäbe es auch die SuFu, die man hätte nutzen können.
https://www.delphipraxis.net/167329-...ichern-db.html
https://www.delphipraxis.net/65443-t...romstream.html
https://www.delphipraxis.net/26267-r...-auslesen.html
...
...
...
...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (15. Jan 2022 um 00:22 Uhr)
  Mit Zitat antworten Zitat
cckLoud

Registriert seit: 19. Nov 2020
Ort: Worms
44 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: D10.3 Probleme mit Richedit

  Alt 15. Jan 2022, 13:17
Ich hab den String jetzt in einen Stringstream verpackt, jetzt gehts. Danke für die Hilfe!

@himitsu: Das würde hier nicht funktionieren, da "HlpStr := ADOQuery1.fieldbyname('TextTeil').AsString;" vereinfacht war und der String aus der DB erst noch aufbereitet wird... Ausserdem hege ich eine (persöhnliche) Abneigung gegen die DB.Controls und benutze die äusserst ungern. In der D7-Version waren noch ein paar DBGrids, aber die sind in der D10-Version ausnahmslos rausgeflogen. Statt dessen habe ich seit längerem eigene Komponenten gebaut, die das alles übernehmen!
Klaus Kaiser
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:51 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