AGB  ·  Datenschutz  ·  Impressum  







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

PlainText aus RTF auslesen

Ein Thema von DataCool · begonnen am 16. Mär 2006 · letzter Beitrag vom 4. Mär 2017
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#1

PlainText aus RTF auslesen

  Alt 16. Mär 2006, 16:21
Hi Leute,

irgentwie stehe ich gerade auf dem Schlauch und habe ne Denkblockade!

Wie kann ich aus :

{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl {\f0\fnil\fcharset0 Arial;}}
{\colortbl ;\red0\green64\blue128;}
\viewkind4\uc1\pard\cf1\fs20 test 9\par
}

Den Plain-Text(in diesem Falle "Test 9") auslesen/extrahieren ?

Danke und Gruß
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: PlainText aus RTF auslesen

  Alt 16. Mär 2006, 16:24
Ich würde es in ein TRichEdit einlesen und dessen Eigenschaft Text wieder auslesen.

Grüße vom marabu
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#3

Re: PlainText aus RTF auslesen

  Alt 16. Mär 2006, 16:26
RichEdit1.Lines.LoadFromFile('C:\test.rtf'); Dann wird nur die test9 angezeigt! (Wie marabu schon sagte)
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: PlainText aus RTF auslesen

  Alt 16. Mär 2006, 16:45
Hi,

ich muss da wohl noch ein paar Zusatz-Infos hinterher schicken :

- Ich habe das oben beschriebene RTF Format in einer String Variable und möchte nachher nur den reinen Text in meiner Variable drin haben.

Hatte schon folgendes probiert, was NICHT funktioniert :

Delphi-Quellcode:
function RTF2PlainText(const sRTF: String): String;
begin
  re_Convert.PlainText := false;
  re_Convert.Text := sRTF;
  re_Convert.PlainText := true;
  result := re_Convert.Text;
end;
Gruß
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: PlainText aus RTF auslesen

  Alt 16. Mär 2006, 16:52
Ich bleibe bei meinem Vorschlag.

Delphi-Quellcode:
function RtfToPlain(rtf: String): String;
begin
  with TRichEdit.CreateParented(HWND(-3)) do
  begin
    SelectAll;
    SelText := rtf;
    Result := Text;
    Free;
  end;
end;
marabu
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: PlainText aus RTF auslesen

  Alt 16. Mär 2006, 17:11
Hi,

wenn ich noch nen Trim drum mache passt es, ohne Trim hab ich nen CRLF am Ende;

Vielen Dank
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Achim Kalwa

Registriert seit: 2. Apr 2005
Ort: Lienen
110 Beiträge
 
Delphi 12 Athens
 
#7

Re: PlainText aus RTF auslesen

  Alt 5. Nov 2008, 15:10
Hallo,

ich stehe selber gerade vor diesem Problem und bin bei der Suche auf diesen Lösungsansatz gestoßen:
Zitat von marabu:
Ich bleibe bei meinem Vorschlag.

Delphi-Quellcode:
with TRichEdit.CreateParented(HWND(-3)) do
...
Nur 'ne kurze Frage: Zu welchem Zweck wird dort -3 als HWND übergeben? GetDesktopWindow() oder so hätte ich ja verstanden, aber was ist -3?!
Achim
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#8

Re: PlainText aus RTF auslesen

  Alt 5. Nov 2008, 22:30
Hallo,

da Link hat marabu das erklärt,
und da http://msdn.microsoft.com/en-us/libr...x#message_only gibt es auch noch Infos.
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#9

AW: Re: PlainText aus RTF auslesen

  Alt 4. Mär 2017, 10:05
Ich bleibe bei meinem Vorschlag.

Delphi-Quellcode:
function RtfToPlain(rtf: String): String;
begin
  with TRichEdit.CreateParented(HWND(-3)) do
  begin
    SelectAll;
    SelText := rtf;
    Result := Text;
    Free;
  end;
end;
marabu

Hallo, nachdem ich sowas gerade mal brauchte, musste ich festsetllen das das unter Berlin nicht geht! Hier meine gesteste Lösung:

Delphi-Quellcode:
function RTF2Text(rtf: String): String;
 var stream:TStringStream;
begin
  stream:=TStringStream.Create(rtf);
  with TRichEdit.CreateParented(HWND(-3)) do
  begin
    Lines.LoadFromStream(Stream);
    Result := Text;
    Free;
  end;
  stream.Free;
end;
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
445 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Re: PlainText aus RTF auslesen

  Alt 4. Mär 2017, 11:43
Da RTF-Text ansi - codiert ist, benötigt es eine Umwandlung und man muss dem RichEdit auch noch klar machen das man es ernst meint mit Ansi:

Delphi-Quellcode:
function Rtf2Txt(const rtf: ansistring): string;
begin
  with TRichEdit.CreateParented(HWND(-3)) do
  begin
    SendMessage(Handle, WM_SETTEXT, 0, NativeInt(@rtf[1]));
    Result := Text;
    Free;
  end;
end;
dann geht das immer noch ohne stream.
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:29 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