Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Brauch RTF Code für Text (https://www.delphipraxis.net/20916-brauch-rtf-code-fuer-text.html)

Nicolai1234 25. Apr 2004 12:03


Brauch RTF Code für Text
 
Kann mir einer den RTF Code für ganz normal Text sagen? Schwarz, Schriftgröße 8!

Ich kenn mich damit nicht so aus. Ich weiß noch nicht einmal ob es sowas gibt, aber IMHO müsste es sowas geben!
Ich muss nur ein string 's' in RTFCode umwandeln, damit ich ihn dann in ein jvxRichEdit schreiben kann.


Danke im voraus :!:

Luckie 25. Apr 2004 12:06

Re: Brauch RTF Code für Text
 
Warum kuckst du nicht selber nach, wie das aussieht?

Nicolai1234 25. Apr 2004 12:07

Re: Brauch RTF Code für Text
 
Wie denn? Ich habe mich mit so was noch nie wirklich beschäftigt :!:

Luckie 25. Apr 2004 12:08

Re: Brauch RTF Code für Text
 
Schon mal eine RTF-Datei mit Notepad angekuckt? Da gibt es nichts mit zu beschäftigen.

toms 25. Apr 2004 12:10

Re: Brauch RTF Code für Text
 
Hi,

Das sollte weiterhelfen:
http://www.swissdelphicenter.ch/de/showcode.php?id=843

Nicolai1234 25. Apr 2004 12:11

Re: Brauch RTF Code für Text
 
Ja, aber wenn ich in Word nur 'hallo' eingebe und als RTF Speichere, erhalte ich nur folgendes:
Zitat:

{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshf loch0\stshfhich0\stshfbi0\deflang1031\deflangfe103 1{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f212\froman\fcharset238\fprq2 Times New Roman CE;}
{\f213\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f215\froman\fcharset161\fprq2 Times New Roman Greek;}{\f216\froman\fcharset162\fprq2 Times New Roman Tur;}{\f217\froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\f218\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f219\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f220\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0 \green0\blue255;\red0\green255\blue255;
\red0\green255\blue0;\red255\green0\blue255;\red25 5\green0\blue0;\red255\green255\blue0;\red255\gree n255\blue255;\red0\green0\blue128;\red0\green128\b lue128;\red0\green128\blue0;\red128\green0\blue128 ;\red128\green0\blue0;\red128\green128\blue0;
\red128\green128\blue128;\red192\green192\blue192; }{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustri ght\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfen p1031 \snext0 Normal;}{\*\cs10 \additive \ssemihidden
Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpa ddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trc bpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\t sbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh \tsbrdrv
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustri ght\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfen p1024 \snext11 \ssemihidden Normal Table;}}{\*\rsidtbl \rsid85693\rsid543591\rsid1909549\rsid2512338\rsid 3146366\rsid3428767
\rsid3429447\rsid5322354\rsid5510621\rsid5665198\r sid5730543\rsid6162704\rsid7277603\rsid7435508\rsi d7539809\rsid7693717\rsid10292460\rsid11021303\rsi d11173717\rsid12141647\rsid12329987\rsid12653570\r sid12942136\rsid13779148\rsid13843463}
{\*\generator Microsoft Word 10.0.4030;}{\info{\title hallo}{\author User name placeholder}{\operator User name placeholder}{\creatim\yr2004\mo4\dy25\hr13\min8}{\ revtim\yr2004\mo4\dy25\hr13\min9}{\version1}{\edmi ns0}{\nofpages1}{\nofwords0}{\nofchars5}
{\nofcharsws5}{\vern16465}}\paperw11906\paperh1683 8\margl1417\margr1417\margt1417\margb1134 \deftab708\widowctrl\ftnbj\aenddoc\hyphhotz425\nox lattoyen\expshrtn\noultrlspc\dntblnsbdb\nospacefor ul\formshade\horzdoc\dgmargin\dghspace180\dgvspace 180
\dghorigin1417\dgvorigin1417\dghshow1\dgvshow1\jex pand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\ splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\uselt baln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\n obrkwrptbl\snaptogridincell\allowfieldendsel\wrppu nct
\asianbrkrule\rsidroot7693717 \fet0\sectd \linex0\headery708\footery708\colsx708\endnhere\se ctlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnha ng {\pntxta .}}
{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnha ng {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnha ng {\pntxtb (}
{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhan g {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnha ng {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhan g {\pntxtb (}{\pntxta )}}\pard\plain
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustri ght\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfen p1031 {\insrsid11173717 hallo}{\insrsid12653570\charrsid11173717
\par }}
Und damit kann ich nicht anfangen :!: :!: :!: :wiejetzt:

Nicolai1234 25. Apr 2004 12:15

Re: Brauch RTF Code für Text
 
Danke, jetzt habe ich den RTF text. Jetzt hab eich aber probleme ihn in das jvxrichedit reinzumachen! Wie mache ich das?

Manzoni 25. Apr 2004 12:16

Re: Brauch RTF Code für Text
 
du kannst word verwenden(besser wordpad), musst dann aber beim speichern das rtf-Format auswählen und nicht *.doc.

Sharky 25. Apr 2004 12:17

Re: Brauch RTF Code für Text
 
Ja, die MS-Produkte gehen da sehr großzügig mit den RTF-Tags um.

Code:
{\rtf1\ansi\deff0\deflang1033{\fonttbl{\f0\fmodern Courier New;}}
\viewkind4\uc1\pard\b\f0\fs20 begin \b0 Hallo
\par }
Sollte das Wort "begin" fett darstelln und das Wort "Hallo" normal.
Das Attribut Fett wir durch das \b eingeleitet und durch \b0 beendet.

Nicolai1234 25. Apr 2004 12:18

Re: Brauch RTF Code für Text
 
Habe ich ja gemacht!

toms 25. Apr 2004 12:21

Re: Brauch RTF Code für Text
 
Zitat:

Zitat von Nicolai1605
Danke, jetzt habe ich den RTF text. Jetzt hab eich aber probleme ihn in das jvxrichedit reinzumachen! Wie mache ich das?

Hi,

Bei mir funktioniert's so:

Delphi-Quellcode:
uses
  RichEdit;

// RichEdit Type
type
  TMyRichEdit = TJvRichEdit;

// Stream Callback function
type
  TEditStreamCallBack = function(dwCookie: Longint; pbBuff: PByte;
    cb: Longint; var pcb: Longint): DWORD;
  stdcall;

  TEditStream = record
    dwCookie: Longint;
    dwError: Longint;
    pfnCallback: TEditStreamCallBack;
  end;


// EditStreamInCallback callback function
function EditStreamInCallback(dwCookie: Longint; pbBuff: PByte;
  cb: Longint; var pcb: Longint): DWORD; stdcall;
  // by P. Below
var
  theStream: TStream;
  dataAvail: LongInt;
begin
  theStream := TStream(dwCookie);
  with theStream do
  begin
    dataAvail := Size - Position;
    Result := 0;
    if dataAvail <= cb then
    begin
      pcb := read(pbBuff^, dataAvail);
      if pcb <> dataAvail then
        Result := UINT(E_FAIL);
    end
    else
    begin
      pcb := read(pbBuff^, cb);
      if pcb <> cb then
        Result := UINT(E_FAIL);
    end;
  end;
end;

procedure PutRTFSelection(RichEdit: TMyRichEdit; SourceStream: TStream);
  // by P. Below
var
  EditStream: TEditStream;
begin
  with EditStream do
  begin
    dwCookie := Longint(SourceStream);
    dwError := 0;
    pfnCallback := EditStreamInCallBack;
  end;
  RichEdit.Perform(EM_STREAMIN, SF_RTF or SFF_SELECTION, Longint(@EditStream));
end;

Beispiel: Rtf Code in TJvRichEdit laden:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  SS: TStringStream;
begin
  SS := TStringStream.Create('{\rtf1\ansi\ansicpg1252\deff0\deflang2055{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}{\f1\fnil MS Sans Serif;}}\viewkind4\uc1\pard\ul\b\f0\fs24 Test\ulnone\b0\f1\fs16\par}');
  try
    PutRTFSelection(JvRichEdit1, SS);
  finally
    SS.Free;
  end;
end;

Nicolai1234 25. Apr 2004 12:26

Re: Brauch RTF Code für Text
 
[edit] Ich bin ein Trottel :wall: [/edit]

toms 25. Apr 2004 12:30

Re: Brauch RTF Code für Text
 
Ist seltsam, bei mir funktioniert's so.
Lade mal ein Demo-Projekt hoch, dann kann ich's testen.

Nicolai1234 25. Apr 2004 12:41

Re: Brauch RTF Code für Text
 
Ne jetzt klappt alles. Aber nachdem ich den Text hinzugefügt habe (mit putRTFselection) dann macht er danach immer einen Zeilenumbruch! Woran liegt das?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:43 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