Delphi-PRAXiS
Seite 7 von 8   « Erste     567 8      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   RTF - Absatzhintergrund setzen (https://www.delphipraxis.net/161467-rtf-absatzhintergrund-setzen.html)

p80286 13. Jul 2011 12:07

AW: RTF - Absatzhintergrund setzen
 
Zitat:

Zitat von DeddyH (Beitrag 1111398)
Es scheint, dass das MS-RichEdit (TRichEdit ist ja nur ein Wrapper dafür) bestimmten RTF-Code nicht nur ignoriert, sondern gleich mal "stinkelinkpief" entfernt.

Da hast Du leider recht. ich habe unter Word ein RTF-Doc erstellt mit drei Bookmarks.
Code:
{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch13\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe2052{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\f13\fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt Arial Unicode MS};}{\f355\fnil\fcharset134\fprq2{\*\panose 00000000000000000000}@SimSun;}{\f356\froman\fcharset238\fprq2 Times New Roman CE;}
{\f357\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f359\froman\fcharset161\fprq2 Times New Roman Greek;}{\f360\froman\fcharset162\fprq2 Times New Roman Tur;}{\f361\froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\f362\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f363\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f364\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;
\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\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\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe2052\loch\f0\hich\af0\dbch\af13\cgrid\langnp1033\langfenp2052 \snext0 Normal;}{\*\cs10 
\additive \ssemihidden Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\loch\f0\hich\af0\dbch\af13\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}
{\*\rsidtbl \rsid148831\rsid286133\rsid339185\rsid860998\rsid984241\rsid984450\rsid1004256\rsid1135108\rsid1867516\rsid2033815\rsid2186730\rsid2651832\rsid2709365\rsid2763979\rsid2770010\rsid2850316\rsid3034264\rsid3043031\rsid3161640\rsid3166147
\rsid3176606\rsid3421001\rsid3764785\rsid3765739\rsid4532240\rsid5065658\rsid5444682\rsid5523901\rsid5592349\rsid5775163\rsid6039071\rsid6240517\rsid6314697\rsid6372026\rsid6516505\rsid6633370\rsid6907469\rsid7293895\rsid7356863\rsid8278815\rsid9269557
\rsid9400270\rsid9518292\rsid9578992\rsid9582052\rsid10118095\rsid10888404\rsid11013118\rsid11295661\rsid11628073\rsid11810928\rsid12001982\rsid12079470\rsid12398361\rsid12658918\rsid12921025\rsid13506130\rsid13711537\rsid13916882\rsid14036614
\rsid14105085\rsid14122565\rsid14162813\rsid14299974\rsid14319551\rsid15021587\rsid15428711\rsid16007591\rsid16208196\rsid16265863\rsid16402579\rsid16536528\rsid16600936\rsid16721138}{\*\generator Microsoft Word 11.0.6568;}
\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1
\jexpand\viewkind1\viewscale90\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
\asianbrkrule\rsidroot3034264\newtblstyruls\nogrowautofit \fet0\sectd \linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2
\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6
\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang
{\pntxtb (}{\pntxta )}}\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe2052\loch\af0\hich\af0\dbch\af13\cgrid\langnp1033\langfenp2052 {\lang1031\langfe2052\langnp1031\insrsid3034264 
\hich\af0\dbch\af13\loch\f0 \hich\f0 Testdokument f\'fc\loch\f0 r bookmarks unter rtf}{\lang1031\langfe2052\langnp1031\insrsid14299974 
\par }{\lang1031\langfe2052\langnp1031\insrsid3034264 \hich\af0\dbch\af13\loch\f0 W\hich\af0\dbch\af13\loch\f0 ert1\hich\af0\dbch\af13\loch\f0 ={\*\bkmkstart w1}{\*\bkmkend w1}\tab \hich\af0\dbch\af13\loch\f0 wert2={\*\bkmkstart w2}\hich\af0\dbch\af13\loch\f0 
w2{\*\bkmkend w2}
\par \hich\af0\dbch\af13\loch\f0 W\hich\af0\dbch\af13\loch\f0 ert3\hich\af0\dbch\af13\loch\f0 ={\*\bkmkstart w3}\hich\af0\dbch\af13\loch\f0 watwert}{\lang1031\langfe2052\langnp1031\insrsid3034264\charrsid3034264 {\*\bkmkend w3}
\par }}
Und was MS-Richedit daraus gemacht hat:
Code:
{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\fnil\fprq2\fcharset134 SimSun;}}
\viewkind4\uc1\pard\lang1031\f0\fs24 Testdokument f\'fcr bookmarks unter rtf\f1 
\par \f0 Wert1=\tab wert2=w2
\par Wert3=watwert\f1 
\par }
abgesehen von den "überflüssigen" Font und Farbdefinitionen ist das ja schon minimalistisch.
Bleibt die Frage "Wo gibt's ein besseres Richedit?"

Edith:
Kopf und Fußzeilen verschwinden ebenso!

Gruß
K-H

DeddyH 13. Jul 2011 14:04

AW: RTF - Absatzhintergrund setzen
 
Zitat:

Zitat von delnu (Beitrag 1111440)
Kann es sein, daß sowas wirklich nur bei Word existiert ? :roll:

Das halte ich durchaus für möglich. Sowohl OpenOffice als wohl auch LibreOffice (haben die nicht sogar denselben Ursprung?) sind ja plattformunabhängig, von daher wären die Entwickler ja mit der Muffe gepufft, wenn sie sich von einer Microsoft-DLL abhängig machten. Also verfügen wohl beide Suiten über einen eigenen Wordprocessor. Mag sein, dass der dann nicht alle Features unterstützt, die das RTF-Format rein technisch bietet.

delnu 13. Jul 2011 17:54

AW: RTF - Absatzhintergrund setzen
 
Heute mittag, das muß zwischen den beiden obigen Beiträgen gewesen sein, hatte ich mal kurz an einem fremden Rechner die Gelegenheit, WORD zu starten. Ich habe mir dann die interessante Sache mit den Sprungmarken angesehen. Allerdings wüßte ich nicht, wozu man die dann im richtigen Leben brauchen kann. Ich habe die Funktionsweise nur zufällig über ein Untermenü gefunden. Während Farbe, Hintergrund usw. wirklich den Inhalt betreffen, also auch z.B. bei Konvertierung als Grafik oder ausgedruckt immer erkennbar sind, betrifft das doch bei Sprungmarken nur das Bearbeiten bzw. Betrachten.

Ich hatte dann mal nach den speziellen Hintergrundfeatures gesucht, aber habe auf die Schnelle nichts Passendes gefunden. Das scheint gut versteckt zu sein und ist wohl eher was für Spezialisten, die das Prog in- und auswendig kennen.

Was Libre Office angeht : Stimmt, das ist eine Weiterentwicklung von OO. Drum dachte ich, man wäre dort vielleicht auch diesbzgl. weiter. Dieses "von daher wären die Entwickler ja mit der Muffe gepufft" muß ich mir merken - schöner Spruch. Schon wegen der Plattformunabhängigkeit muß es also eine Eigenentwicklung sein. Hmmm - die Quellen gibt es doch, ich weiß nur nicht, womit es geschrieben ist. Mit viel Mühe könnte man da vielleicht ein paar andere Strukturen abgucken ?

Das hat aber nur Sinn, wenn man den Source versteht. Beispielsweise war "C" mit all seinen Abarten nie mein Ding.

DeddyH 14. Jul 2011 12:59

AW: RTF - Absatzhintergrund setzen
 
Ich habe jetzt auf die Schnelle den Source zu OO/LibreOffice nicht gefunden, möchte aber fast wetten, dass es sich um C++ (evtl. auch Java, aber C++ erscheint mir wahrscheinlicher) handelt.

delnu 14. Jul 2011 16:13

AW: RTF - Absatzhintergrund setzen
 
"Auf die Schnelle" war das aber schon ziemlich perfekt, weil nämlich beides zutrifft, siehe http://sourceforge.net/projects/libreoffice/develop und falls Du beides kannst, den Source gibt es offensichtlich hier : http://www.libreoffice.org/download/

Nach OpenOffice habe ich nicht mehr gesucht, weil das offenbar veraltet ist bzw. nicht mehr weiterentwickelt wird. Ich hatte bei lima-city im Forum mal irgendwas in der Art gelesen, finde es aber jetzt nicht mehr.

DeddyH 14. Jul 2011 16:23

AW: RTF - Absatzhintergrund setzen
 
Oh nee, Danke, lass mal. Vade retro, Satanas :lol:

delnu 14. Jul 2011 16:59

AW: RTF - Absatzhintergrund setzen
 
Na ! :angel2: Mich aber bitte nicht mit diesen Sprachen verwechseln. :shock: Aber bitte, wenn statt dessen ich weichen soll, phh. :roll:

Übrigens : Bei lima-city heißt "angel2" aber "holy" ...

DeddyH 14. Jul 2011 17:14

AW: RTF - Absatzhintergrund setzen
 
Du warst ja auch nicht gemeint ;)

p80286 14. Jul 2011 17:35

AW: RTF - Absatzhintergrund setzen
 
Zitat:

Zitat von delnu (Beitrag 1111598)
Allerdings wüßte ich nicht, wozu man die dann im richtigen Leben brauchen kann. Ich habe die Funktionsweise nur zufällig über ein Untermenü gefunden. Während Farbe, Hintergrund usw. wirklich den Inhalt betreffen, also auch z.B. bei Konvertierung als Grafik oder ausgedruckt immer erkennbar sind, betrifft das doch bei Sprungmarken nur das Bearbeiten bzw. Betrachten.

Dann sprich mal mit den Leuten, die "Automation" betreiben, die haben da durchaus verwendung für.
Platt gesagt schiebst Du Daten aus z.B.einer DB-Abfrage auf die Bookmarks und fertig ist dein gefülltes Formschreiben. (Na gut ist ein wenig komplizierter aberso geht's im Prinzip)

Gruß
K-H

omata 14. Jul 2011 17:54

AW: RTF - Absatzhintergrund setzen
 
Zitat:

Zitat von p80286 (Beitrag 1111767)
Platt gesagt schiebst Du Daten aus z.B.einer DB-Abfrage auf die Bookmarks und fertig ist dein gefülltes Formschreiben.

Das ist allerdings kein schöner Weg! Ich habe soetwas auch schon gesehen und mich dermaßen geärgert. Dafür nimmt man keine Bookmarks sondern MergeFields! Das scheinen einige Leute noch nicht begriffen zu haben.

@p80286: Das geht nicht gegen Dich.

Aber das mußte ich jetzt einfach mal loswerden, weil das absolut super schlechter Stil ist. Vor allem deshalb, weil es etwas viel besseres und flexibleres gibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:12 Uhr.
Seite 7 von 8   « Erste     567 8      

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