RTF-Ausgabe

Von Ausgaben mit der Gra-Engine über Generatoren bis zum Export in diversen Formaten

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

RTF-Ausgabe

Beitrag von Jan »

Gibt es eine Möglichkeit, eine Ausgabe direkt als RTF-Dokument auszugeben? Ich möchte das gerne als Alternative zum Druck und zur PDF anbieten. Möglichst ohne irgendwelche externen Aufrufe.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: RTF-Ausgabe

Beitrag von Martin Altmann »

Moin Jan,
selber machen :-) Ich kenne kein preiswertes Add-on, dass dies beherrscht.
RTF ist ja nur plain text. Ähnlich kompliziert wie HTML.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: RTF-Ausgabe

Beitrag von Jan »

Moin Martin,

das heißt, es gibt eine entsprechende Schnittstellenbeschreibung dafür? Die ich selber einbauen kann? Weißt Du, wo ich die herbekommen kann?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: RTF-Ausgabe

Beitrag von Martin Altmann »

Moin Jan,
habe ich schon mehrmals hier gepostet: http://support.microsoft.com/?scid=kb;d ... 52&sid=256
Nimm ruhig die - ist zwar etwas älter, aber dafür sind die RTF-Dateien auch von anderen Programmen problemloser interpretierbar.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: RTF-Ausgabe

Beitrag von Rolf Ramacher »

Hi Jan,

ich mache das bei mir ähnlich. Ich habe ein RTF-dokument als vorlage, die - Werte werden entsprechend mit strtan ersetzt und als neues RTF-Dokument an den Drucker über Word als activex übergeben.

Dies sieht so aus:

Der Aufruf zum Drucken

Code: Alles auswählen

#include "Gra.ch"
#include "Xbp.ch"
#include "Appevent.ch"
#include "Font.ch"
#include "Inkey.ch"
#include "xbpdev.ch"

#pragma Library( "XppUI2.lib" ) 

Function ListeDrucken()
	Local cVerz:=""

	FAttr("bestell_liste.rtf","-H")
	FAttr("bestell_liste.rtf","-R")
	cVerz:=CurDrive()+":\"+CurDir()

   oDlg := XbpPrintDialog():new() 
   // Druckausgabe nicht standardmäßig in Datei umleiten 
   oDlg:enablePrintToFile := .f. 
   oDlg:printToFile       := .f. 
   oDlg:create() 

   // Konfiguriertes Drucker Objekt erzeugen 
   oPrinter := oDlg:display() 
   oDlg:destroy() 

   IF oPrinter <> NIL 
		cPrinter:=oPrinter:DevName
		Drucken(cVerz+"\bestell_liste.rtf",cPrinter)
	EndIf
	FAttr("bestell_liste.rtf","H")
	FAttr("bestell_liste.rtf","R")
Return Nil
Die Druckfunction für Word

Code: Alles auswählen

#include "Gra.ch"
#include "Xbp.ch"
#include "Appevent.ch"
#include "Font.ch"
#include "Inkey.ch"
#include "xbpdev.ch"
#include "activex.ch"
#include "xbpdev.ch"

#define wdPrintFromTo 3

#pragma Library( "XppUI2.lib" ) 
#pragma library( "ascom10.lib" ) 

Function Drucken( cDoc, cDrucker,oDlg) 
Local cActivePrinter, aSeite:={}
Local oWord 
Local oDoc 

    oWord := CreateObject("Word.Application") 

   IF Empty( oWord ) 
     MsgBox( "Microsoft Word ist nicht installiert" ) 
     RETURN Nil
   ENDIF 

   oWord:visible   := .f.                               // Word unsichtbar! 
   cActivePrinter  := oWord:Activeprinter     // aktuellen Drucker feststellen 
   oWord:Activeprinter:= cDrucker               // Neuen Drucker setzen 
   oWord:documents:Open(cDoc)                  
   oDoc       := oWord:ActiveDocument 

	If AT("filbestandliste.rtf",cDoc) > 0
		aSeite:=oDlg:pageRangeSelected
		oDoc:PrintOut(.f.,Nil,wdPrintFromTo,Nil,alltrim(str(aSeite[1])),alltrim(str(aSeite[2])),Nil,1 )
	Else
	   oDoc:PrintOut(.f.)    
	EndIf                    
   oWord:Activeprinter:= cActivePrinter       // alten Drucker setzen 
   oDoc:close() 
   oWord:Quit() 
   oWord:destroy() 
   oWord := NIL 
Return ( NIL )
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: RTF-Ausgabe

Beitrag von Jan »

Rolf,

ich möchte nicht drucken, ich möchte kein ActiveX, und ich habe sowieso überhaupt kein Word. Werte ersetzen geht auch nicht. Ich wollte einfach nur eine RTF-Datei schreiben.

Da hilft die Beschriebung von Martin schon sehr gut weiter (auch wenn ich nur geschätzte 1 % oder so von all den Parametern brauche). Ich werde mich da mal durchkämpfen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: RTF-Ausgabe

Beitrag von Martin Altmann »

Jan,
baue Deine RTF-Datei (in Wordpad oder OpenOffice) so, wie Du sie willst.
Dann nimm sie als Vorlage (wie Rolf das vorgeschlagen hat) und lese sie per Memoread() und ersetze die Platzhalter mittels strtran()
oder schaue Dir den erzeugten RTF-Code im normalen Editor an, kopiere die festen Teile raus in Dein Programm (dahin, wo Du die RTF-Datei erzeugen willst) und bilde den Rest in entsprechenden Schleifen nach.
So mache ich das auch - ist am Einfachsten 8)

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: RTF-Ausgabe

Beitrag von Jan »

Martin,

mit Vorlagen kann ich nicht arbeiten. Ich muß wirklich jedes Mal die RTF-Datei neu schreiben. Was aber kein wirkliches Problem ist, ich muß nur erstmal die ganzen Tags zusammentragen, die ich brauche.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: RTF-Ausgabe

Beitrag von brandelh »

Jan hat geschrieben: Was aber kein wirkliches Problem ist, ich muß nur erstmal die ganzen Tags zusammentragen, die ich brauche.
Jan
das ist doch im Prinzip eine Vorlage ;-) die man zur Not auch im Programm als Text hinterlegt ...

Die Idee dahinter ist einfach, dass man die Schriften, Stiele (fett, unterstreichen etc.) im NOTEPAD oder WORDPAD
erzeugt und abschreibt, was was macht =D>
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: RTF-Ausgabe

Beitrag von Jan »

Moin Hubert,

OK, wenn Du das so siehst...

Ich brauche eigentlich wie gesagt recht wenig. Schriftart und -größe, Fett/Normal, Schriftfarbe, Textausrichtung, Positionen, Linie und Box. Wenn es gibt noch eine schattierte Box. Wie gesagt, daß muß ich mir mal alles ansehen. Aber das wäre das Repertoire, mit dem ich auskommen würde.

Ich schreibe jede Druckausgabe ohnhin mit Tag in eine Tabelle, weil ich die für Druckvorschau, Druck und PDF brauche. Ich könnte also z. B. einfach die zeilenweise Abarbeitung für die PDF-Ausgabe nehmen und so abändern, daß eine RTF daraus wird. Wie gesagt, durch die Vorarbeiten ist das relativ simpel umzusetzen. Hoffe ich.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: RTF-Ausgabe

Beitrag von brandelh »

Hi,

auf der Alaska Download ASCN Seite habe ich die RTF Class gefunden:

RichText() is a class written for Xbase++, designed to export formatted RTF data

da gibt es wohl 2 Versionen, gemacht habe ich damit nichts, aber vielleicht hilft es dir ;-)
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: RTF-Ausgabe

Beitrag von AUGE_OHR »

Jan hat geschrieben:Ich brauche eigentlich wie gesagt recht wenig. Schriftart und -größe, Fett/Normal, Schriftfarbe
wenn es nur darum ginge, also "reinen" RTF Text, dann könntest du es mit

Code: Alles auswählen

oMle := XbpMLE
oMle:format := 3  // Zeigt RTF Code
oMle:create()
anzeigen.
Jan hat geschrieben:..., Textausrichtung, Positionen, Linie und Box. Wenn es gibt noch eine schattierte Box. Wie gesagt, daß muß ich mir mal alles ansehen. Aber das wäre das Repertoire, mit dem ich auskommen würde.
wenn es dann Richtung "Bild" geht "versagen" die "einfachen" Mittel und ich suche auch noch so was wie einen (schnellen) RTF "Viewer"
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: RTF-Ausgabe

Beitrag von AUGE_OHR »

AUGE_OHR hat geschrieben:... ich suche auch noch so was wie einen (schnellen) RTF "Viewer"
http://www.microsoft.com/downloads/deta ... laylang=dedirekt von M$
gruss by OHR
Jimmy
Antworten