Text als .rtf speichern???

Anfängerfragen zum Programmieren mit PureBasic.
FrogTech
Beiträge: 3
Registriert: 09.01.2008 17:01

Text als .rtf speichern???

Beitrag von FrogTech »

Hi @ all,

ich würd' mir gerne 'n Tool bauen, mit dem ich per Knopfdruck Textbausteine zu einem Gesamttext kombinieren kann.
Im Prinzip würde das ja mit 'nem Editor-Gadget funktionieren.
Ich will jedoch auch Formatierungen wie Fettdruck oder Kursivdruck, oder auch unterschiedliche Zeichensätze verwenden können. Und das Ganze sollte dann von einer üblichen Textverarbeitung (MS-Word, OpenOffice) gelesen werden können.

Deshalb hab' ich mir gedacht, dass man dazu vielleicht das RTF-Format verwenden könnte. Gibt's da eigentlich schon irgendwelche Tools in der Richtung, oder möglicherweise eine API-Funktion or whatever, die auf einfachem Weg eine RTF-Datei absondert???

Im CodeArchiv habe ich nur Beispiele gesehen, die demonstrieren, wie man den Inhalt einer bestehenden RTF-Datei mit PB anzeigt.

greets Mark
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Windows 10 Pro, 64-Bit / Outtakes | Derek
FrogTech
Beiträge: 3
Registriert: 09.01.2008 17:01

Beitrag von FrogTech »

Hab' da mal aus der Suche im Forum ein Beispiel etwas erweitert:

Code: Alles auswählen


; PB 4.0 

OpenWindow(0, 200, 200, 400, 200,"EditorGadget", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget) 
CreateGadgetList(WindowID(0)) 
EditorGadget(0, 0, 0, WindowWidth(0), WindowHeight(0)) 


text$ = "{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}{\f1\fswiss\fprq2\fcharset0 Arial;}{\f2\fswiss\fprq2\fcharset0 Verdana;}}" 
text$ = text$ + "{\colortbl ;\red255\green0\blue0;\red0\green128\blue0;\red0\green0\blue255;\red0\green0\blue0;}" 
text$ = text$ + "\viewkind4\uc1\pard\f0\fs20 normal \cf1 rot\cf0  \cf2 gr\'fcn\cf0  \b fett\b0  \cf3\b fettblau \cf0\b0 normal\par " 
text$ = text$ + "Zeilenumbruch \f1 Arial, \f2\fs28 Verdana\fs20 , \f0 Courier New\cf4\par " 
text$ = text$ + "}" 

SetGadgetText(0, text$) 

name$ = SaveFileRequester("Dateiname eingeben","c:\","*.rtf",0)

OpenFile(1,name$)

WriteString(1,text$)

CloseFile(1)

Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow 
Muss jetzt nur noch die für mich relevanten RTF-Codes rauspfriemeln.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Antworten