AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DBRichEdit in RichEdit

Ein Thema von Stephan · begonnen am 17. Mai 2003 · letzter Beitrag vom 18. Mai 2003
Antwort Antwort
Stephan

Registriert seit: 28. Jun 2002
Ort: Tuttlingen
245 Beiträge
 
Delphi 2007 Professional
 
#1

DBRichEdit in RichEdit

  Alt 17. Mai 2003, 20:25
Hi,

wie kann ich den Text von einem DBRichEdit in ein RichEdit samt Formatierungen übernehmen?

Ich habs versucht mit:

var
Stream: TMemoryStream;
begin
Stream:=TMemoryStream.Create;
try
RichEdit1.Lines.SaveToStream(Stream);
Stream.Seek(soFromBeginning,0);
RichEdit2.Lines.LoadFromStream(Stream);
finally
Stream.Free;
end;

hat leider nicht geklappt

viele Grüße

Stephan
viele Grüße

Stephan
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 17. Mai 2003, 23:38
Moin Stephan,

vom Prinzip her klappt das so (getestet):

Delphi-Quellcode:
var
  cfWork : TCHARFORMAT;
  pResult : PChar;

begin
  DBRichEdit1.Lines.Add('TEXT');
  DBRichEdit1.SelectAll;
  cfWork.cbSize := SizeOf(cfWork);
  SendMessage(DBRichEdit1.Handle,EM_GETCHARFORMAT,SCF_SELECTION,lParam(@cfWork));
  pResult := AllocMem(DBRichEdit1.SelLength);
  try
    SendMessage(DBRichEdit1.Handle,EM_GETSELTEXT,0,lParam(pResult));
    RichEdit1.Lines.Clear;
    SendMessage(RichEdit1.Handle,WM_SETTEXT,0,lParam(pResult));
    RichEdit1.SelectAll;
    SendMessage(RichEdit1.Handle,EM_SETCHARFORMAT,SCF_SELECTION,lParam(@cfWork));
  finally
    FreeMem(pResult,DBRichEdit1.SelLength);
  end;
  DBRichEdit1.SelLength := 0;
  RichEdit1.SelLength := 0;
end;
Es wird einfach mit Hilfe der zugehörigen Messages das Format des selektierten Textes und anschliessend der Text selber aus dem DBRichEdit ausgelesen, und dann auf das RichEdit übertragen.

Wichtig:
Dieses Beispiel setzt voraus, dass der gesamte Text das gleiche Format hat, ggf. müsste also das Format Zeichenweise übertragen werden.

Warum ein DBRichEdit beim Speichern nicht das Format mitspeichert weiss ich allerdings auch nicht. Gemäss der VCL Sourcen dürfte das eigentlich nicht sein, und ist doch so
(wahrscheinlich hab' ich's übersehen)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Stephan

Registriert seit: 28. Jun 2002
Ort: Tuttlingen
245 Beiträge
 
Delphi 2007 Professional
 
#3
  Alt 18. Mai 2003, 08:38
Hi,

hm, leider hab ich verschiedene Formate drin. Alles mögliche. Gibts eine Möglichkeit den Inhalt eines RichEdit mit Formatierun in ein TTable zu schreiben und auszulesen (ohne DBRichEdit)?

viele Grüße

Stephan
viele Grüße

Stephan
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:10 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