Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Text ohne Formatierung aus TStringStream bekommen


bayou - Mi 07.01.09 09:40
Titel: Text ohne Formatierung aus TStringStream bekommen
Hallo an alle und frohes neues Jahr auch noch.

Gibt es eine Möglichkeit aus einem TStringStream den reinen Text ohne Formatierung zu bekommen?
Ich möchte diesen StringStream in eine .csv Datei exportieren.

vielen Dank


WInfo - Mi 07.01.09 09:43

Moin Moin bayou,

woher sollte denn die Formatierung in den String kommen?


bayou - Mi 07.01.09 10:07

Hi WInfo,

in dem Projekt an dem ich gerade arbeite werden TStringStream verwendet und über RichEdit und SelAttributes werden dem Text werden dem Text Formatierungen wie FETT, Farbe, Größe zugewiesen.

zum Einlesen in ein RichEdit wird

Delphi-Quelltext
1:
2:
3:
4:
  strm := TStringStream.Create(seqdata.seqtext);
    RMemoSequence.Lines.LoadFromStream(strm);
  strm.Free;
  RMemoSequence.Text      := seqdata.seqtext;

verwendet.
zum Auslesen

Delphi-Quelltext
1:
2:
3:
4:
  strm := TStringStream.Create('');
    RMemoSequence.Lines.SaveToStream(strm);
    StrSequence := strm.DataString;
  strm.Free;

Meine Frage ist :
ist es Möglich den reinen Text (ist das Plaintext?) ohne Formatierungsangabe wie
{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil Arial;}}\n{\colortbl ;\red255\green255\blue255;\red0\green0\blue0;}\n\viewkind4\uc1\pard\cf1\fs40 ...
zu bekommen?
Ich möchte in der .csv nur 'Mein Text' stehen haben.

Danke


WInfo - Mi 07.01.09 10:14

Moin Moin bayou,

ja, es ist möglich, über den Umweg über eine RTF Komponente. Einfach erstellen (braucht nicht sichtbar sein), den Stream in das RTF laden und dann den Plaintext abziehen. Die Konvertierung erledigt die Komponente für Dich. Schau Dir mal die Eigenschaften .Plaintext an und die Routinen .LoadfromStream/.SavetoStream.

Wünsch Dir noch einen schönen Tag


bayou - Mi 07.01.09 10:55

Danke für deine Hilfe,

leider stehe ich ziemlich auf dem Schlauch.
Wie ziehe ich den den Plaintext ab?


Lannes - Mi 07.01.09 11:13

Hallo,

einfach mal Plaintext hier in die Suche eingeben. :wink:

Dann findest Du unter anderem auch das:
[Richedit, VCL Win32] Text Speichern [http://www.delphi-forum.de/viewtopic.php?p=323505#323505]


bayou - Mi 07.01.09 11:32

Hat sich erledigt, hatte nur Plaintext False und True vertauscht.

Nochmals vielen Dank für die Hilfe