Versuche mal, meine Frage zu formulieren:
Ein Richedit soll nach Fertigstellung der Einträge eine RTF-Datei speichern. Das ist dank XProfan kein Problem, aaaaber...
dieses Richedit soll aus einer CSV-Datei (Adressen) bestimmte Daten übernehmen. Auch das klappt und jetzt kommt es:
Wie "überrede" ich das Richedit, die Daten an einen gewünschten Platz zu stellen. Also gleich fertig an den vorgesehenen Platz ?
Adresse also im Fensterumschlag zu lesen usw...
Sicher, ich kann das innerhalb des Richedit selbst machen. Es soll aber sofort da stehen, wo es hingehört - hoffe, ich habe mich verständlich ausgedrückt.
Danke für Tipps
Richedit und Datenübernahme
-
horst_ -
2. Juni 2010 um 13:20
-
-
- Gerade eben
- Anzeige
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
- ✔️ Schnelle Ladezeiten (optimiert für WordPress, WoltLab & Co.)
- ✔️ Deutsche Server & DSGVO-konform
- ✔️ Persönlicher Support (kein 0815-Ticket-System)
Wenn du Fragen hast, kannst du dich gerne jederzeit an @Maximilian Rupp wenden
Hinweis:
-
Serienbrief mit Platzhalter?
Schon mit Dieters RTF-PCU versucht?Gruß Thomas
-
Kein Serienbrief - Rechnungen, immer wieder mit neuer Kundenadresse und gleichbleibendem Briefkopf.
Die PCU von Dieter ist zwar Super, würde aber hier mit "Kanonen auf Spatzen schiessen" - Werde mal mit TAB-Befehlen versuchen. Melde mich wieder -
Hallo Horst,
Ich würde Platzhalter verwenden, ist die sauberste und sicherste Lösung. Du machst eine Musterdatei mit dem Briefkopf und fügst dann an die entsprechende Stelle Platzhalter ein, die dann von den Daten überschrieben werden. Textverarbeitungen machen es ähnlich, nur, dass dort Felder eingefügt sind.
ungefähr so:
<Vorname> <Name>
<Straße>
<PLZ> <Ort>so mache ich das in der PCU auch.
-
Soweit habe ich es jetzt - nun muss ich nur noch einen Trick entwickeln für unterschiedliche Schriftfonts

Die Daten, die hier stehen, sind Beispiele. Werden im Ernstfall mit SUBSTR$(... aus der CSV-Datei gelesen.ZitatAlles anzeigenDECLARE vname$,nname$,firma$,plz$,ort$,strasse$
DECLARE kvname$,knname$,kfirma$,kplz$,kort$,kstrasse$
DECLARE rtf_editor&
vname$="Horst":nname$="Horn":firma$="Rentner":strasse$="Alte Eppelheimer Str. 25"
plz$="69115":ort$="Heidelberg"kvname$="Heinz":knname$="Mustermann":kfirma$="Millionär":kstrasse$="Musterweg 1"
kplz$="12345":kort$="Musterstadt"Window 0,0-%MaxX,%MaxY
rtf_editor& = Create("RICHEDIT",%hwnd,"",5,5,700,-500)
~SendMessage(rtf_editor&,$00C2,0,"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00C2,0," "+vname$+" "+nname$+"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00C2,0," "+firma$+"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00C2,0," "+plz$+" "+ort$+"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00C2,0," "+strasse$+"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
'--------------------------------------------------------------------------------------------------------
~SendMessage(rtf_editor&,$00C2,0,"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00C2,0,"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00C2,0,"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00C2,0,"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00C2,0," "+vname$+" "+nname$+" "+strasse$+" "+plz$+" "+ort$+"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00C2,0,"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00C2,0," "+kvname$+" "+knname$+"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00C2,0," "+kfirma$+"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00C2,0," "+kplz$+" "+kort$+"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00C2,0," "+kstrasse$+"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00C2,0,"\n")
~SendMessage(rtf_editor&,$00B6,0,1)
~SendMessage(rtf_editor&,$00B1,-1,-1)
SETFOCUS(rtf_editor&)
while 1
waitinput
endwhile -
Zitat
immer wieder mit neuer Kundenadresse und gleichbleibendem Briefkopf
Ganz so einfach geht es für Fensterbriefumschläge nicht. Siehe DIN Geschäftsbrief gemäß DIN 676
Dazu müssen die Zeilenhöhen und Einrückungen (für Drucker dpi) vor/neben dem Adressbereich ermittelt/errechnet werden um auf die Maße Y1 und X1 zu kommen.
Nichts einfacher, dieses über die RTF.pcu zu machen.[Blockierte Grafik: http://s4.postimage.org/Rski0.jpg]
Außer du gibst bis zur Betreff-Zeile alles vor und unterbindest Veränderungen, denn schon eine Fontänderung oberhalb des Adressfeldes verhagelt dir dessen Position.
Ich würde 2 RTF machen. Erste bis Bezugszeichenzeile unveränderbar mit Empfängereintrag. Zweite ab und mit Bezugszeichenzeile, die sich ja mit dem Inhalt immer ändert. Zum Speichern und Drucken würde ich alle Zeilen aus der 2. RTF in die 1. RTF hinter die letzte Zeile (n-te Leerzeile unter dem Adressfeld) kopieren.Gruß Thomas
-
Dux
Das Tool funktioniert ja schon - allerdings werden hier Absender und Adresse auf der Oberfläche mit DRAWTEXT... angezeigt.
Die Druckroutine druckt genau so aus, wie es in den Fensterbrief passt.
Soweit ist alles klar.
Gespeichert wird eine TXT-Datei mit Absender + Adresse und eine RTF-Datei mit dem Inhalt des Schreibens. Ich will aber alles in eine RTF-Datei speichern und die, die mich kennen, wissen, daß ich das irgendwie hinbekomme
Bin aber für jeden Tipp dankbar ! -
Horst, ich mache es, um z.B. Bilder, Textzeilen, Listen in die RTFeinzubauen wie folgt:
Code
Alles anzeigenA_Name$="Horst Horn, Rentner, Alte Eppelheimer Str. 25, 69115 Heidelberg" A_Font$="Arial|10|0|0|0|0" A_Drawx$="20" 'aus % in $ umwandeln A_Drawy$="100" 'aus % in $ umwandeln Assign #2,file$ 'RTF zum Ergänzen öffnen Append #2 ' Adressfeld: Absender mit Font und Draw-Koordinaten print #2, "{\info{\|Absender|"+A_Name$+"|"+A_Font$+"|"+A_Drawx$+"|"+A_Drawy$+"}" ' usw. Close #2Auslesen dann z.B.:
Code
Alles anzeigen' RTF öffnen assign #1,File$ reset #1 whilenot eof(#1) input #1,temp$ if Match$("info", temp$)<>"" If substr$(temp$,2,"|")="Absender" A_Name$=substr$(temp$,3,"|") A_Font&=Create("Font",substr$(temp$,4,"|"), \ val(substr$(temp$,5,"|")), \ val(substr$(temp$,6,"|")), \ val(substr$(temp$,7,"|")), \ val(substr$(temp$,8,"|")), \ val(substr$(temp$,9,"|"))) A_Drawx$=substr$(temp$,10,"|") 'noch in % umwandeln A_Drawy$=substr$(temp$,11,"|") 'noch in % umwandeln ' ElseIf .... EndIf EndIf EndWhile Close #1Hoffe du erkennst das Prinzip.
Einmal als Bild einer RTF, in der ich Blattdaten,Kopf- und Fußzeile, die Listviewstruktur und die Daten eines Logos eingebettet habe:
[Blockierte Grafik: http://s1.postimage.org/GN7l0.jpg]
oder Beispiel als RTF. Inhalt einmal über den Editor speichern.
Code{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 Arial;}} \viewkind4\uc1\pard\qc\fs28\par SAV Pliete e.V. L\'fcbeck\par } {\info{\|Absender|Horst Horn, Rentner, Alte Eppelheimer Str. 25, 69115 Heidelberg|Arial|10|0|0|0|0|20|100}Diese RTF zeigt dann aber geöffnet mit einem RTF-Editor deine Anschriftendaten nicht an.
Deshalb speicher ich die Datei als NN.rpl ab, denn nach dem Öffnen und Speichern mit einem RTF-Editor sind die Zusätze verloren! Man spart sich halt nur die Verwaltung zweier Dateien für ein Dokument.
Gruß Thomas -
Zitat von horsthorn;791248
Ich will aber alles in eine RTF-Datei speichern und die, die mich kennen, wissen, daß ich das irgendwie hinbekomme

Und wie hast du das jetzt hinbekommen?Gruß Tomas
-
Dux
In der letzten Zeit nichts gemacht. Da das Tool für einen bestimmten Zweck immer nur eine Seite ausdruckt, habe ich nach alter "XProfan-Sitte" Absender- und Adress-Daten jeweils in einer CSV-Datei gespeichert. In einer Listbox können dann diese Daten ausgewählt und in den Briefkopf gesetzt werden. Der eigentliche Inhalt wird über 15 EDITS eingetragen. Dabei sind 5 Edits nummerische Werte. Diese können je nach Bedarf untereinander ab- oder zugezählt werden. Zum Schluss wird die Mehrwertsteuer dazu gerechnet und alles auf dem Monitor in einer Druckansicht dargestellt. Gedruckt wird ebenfalls über XPRofan mit USEFONT.... und DRAWTEXT....Ein Firmenlogo kann zusätzlich mit ausgedruckt werden. Das ist im Moment für den Zweck vollständig ausreichend.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!