AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Textübernahme von mehrere Memofelder in RichEdit felder,
Thema durchsuchen
Ansicht
Themen-Optionen

Textübernahme von mehrere Memofelder in RichEdit felder,

Ein Thema von Reini64 · begonnen am 18. Jul 2004 · letzter Beitrag vom 20. Jul 2004
Antwort Antwort
Reini64

Registriert seit: 3. Mär 2004
Ort: Ulmen
83 Beiträge
 
#1

Textübernahme von mehrere Memofelder in RichEdit felder,

  Alt 18. Jul 2004, 20:41
Hi
ich habe folgendes Problem:

ich möchte in ein Richedit Feld mehrere Memofelder aus der Datenbank einfügen jeweils mit einer Überschrift dabei erhalte ich die Fehlermeldung: "Fehler bei Einfügen von RichEdit-Zeile ".

Delphi-Quellcode:
   if dm_stamm.q_detail['m1'] <> null then
      begin
        RichEdit1.Lines.Add(suchfeld[I]); //Word in RichEdit einfügen
        RichEdit1.SelStart := Pos(suchfeld[I],RichEdit1.Text)-1; //Position des Wortes bestimmen
        RichEdit1.SelLength := Length (suchfeld[I]); //Länge festelegen
        RichEdit1.SelAttributes.Style := [fsBold];
        RichEdit1.SelLength := 0; //Markierung aufheben.
        RichEdit1.Lines.Add(dm_stamm.q_detail['m1']);
      end;
der Fehler taucht in der Zeile: " RichEdit1.Lines.Add(dm_stamm.q_detail['m1']);"
auf.

Wa mache ich falsch ???
  Mit Zitat antworten Zitat
Benutzerbild von mischerr
mischerr

Registriert seit: 6. Feb 2004
Ort: Konz
238 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Textübernahme von mehrere Memofelder in RichEdit felder,

  Alt 20. Jul 2004, 12:52
Hallo!

Was wird denn wirklich bei Lines.Add() hinzugefügt? Erzeug doch einmal eine temp. String-Variable, schreib den Wert dann dort rein und übergib diese dann beim Lines.Add(). Ich würde mir aber zuvor einen Breakpoint setzen nund mal schaun, was da wirklich kommt!

Grüsse!
  Mit Zitat antworten Zitat
Reini64

Registriert seit: 3. Mär 2004
Ort: Ulmen
83 Beiträge
 
#3

Re: Textübernahme von mehrere Memofelder in RichEdit felder,

  Alt 20. Jul 2004, 13:38
es wird folgendes übergeben:

Delphi-Quellcode:
'{\rtf1\ansi\deff0{\fonttbl{\f0\froman\fcharset0 Times New Roman;}}
\viewkind4\uc1\pard\lang1031\f0\fs24 Saccharomyces boulardii, Trockenhefe 50 mg
\par
\par }
'
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Textübernahme von mehrere Memofelder in RichEdit felder,

  Alt 20. Jul 2004, 13:48
Dann solltst du die Eigenschaft "Plaintext" des Richedit auf "true" setzen
Julian J. Pracht
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

Re: Textübernahme von mehrere Memofelder in RichEdit felder,

  Alt 20. Jul 2004, 14:00
Sag mal ist dm_stamm.q_detail['m1'] ein Blob oder ein Char Feld
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von mischerr
mischerr

Registriert seit: 6. Feb 2004
Ort: Konz
238 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Textübernahme von mehrere Memofelder in RichEdit felder,

  Alt 20. Jul 2004, 17:10
Also wenn ich das richtig verstanden hab, dass möchtest Du 2/mehrere RTF formatierte Texte "mergen", allerdings macht dir das RTF Format da einen Strich durch die Rechnung. Ich hab das gerade mal ausprobiert und so hat's geklappt:

Code:
procedure TForm1.AddSomeRTF(const RTFText: string);
var mStream: TMemoryStream;
begin
  mStream:= TMemoryStream.Create;
  RichEdit1.Lines.SaveToStream(mStream);
  mStream.Seek(-4, soFromEnd);
  mStream.WriteBuffer(RTFText[1], length(RTFText));
  mStream.Seek(0, soFromBeginning);
  RichEdit1.Lines.LoadFromStream(mStream);
  mStream.Free;
end;
Ist zwar noch ganz und garnicht schön gelöst (...bitte nicht schlagen ), aber klappt hier zumindest schonmal.

Mit dem "mStream.Seek(-4, soFromEnd);" entferne ich die letzte } des RTF-Quelltextes und füge dann dort den neuen Text ein. Von diesem neuen Text hab ich jedoch zuvor die Kopfinformationen entfernt, sodass nun nur noch "\viewkind4\uc1\pard\lang1031\f0\fs24 Saccharomyces boulardii, Trockenhefe 50 mg\par\par }" übergeben wird.

Grüsse!
  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:37 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