Seite 1 von 1

Rundschreiben

Verfasst: Sa, 08. Jul 2023 13:06
von Manfred
ich möchte gerne ein Rundschreiben erstellen, in das Variablen aus einer Tabelle eingefügt werden sollen. Was nimmt man dafür für eine Grundlage? Etiketten? Cards? Und wie baut man sowas auf? Ich habe es mal kurz versucht mit .lst, bin aber daran gescheitert Variablen in einen Text einzufügen. Am liebsten würde ich den kompletten Text erstellen und dann eben an entsprechender Stelle Variablen setzen, aber wie formatiert man dann diesen Text? Zeilenabstand, Absatz usw.

Re: Rundschreiben

Verfasst: Sa, 08. Jul 2023 13:12
von Tom
Hallo, Manfred.

Ich nutze RTF (DOCX geht auch, ist aber beim Ersetzen von Platzhaltern komplizierter), das man auch innerhalb meiner Applikation mit allen möglichen Formatierungen erstellen kann, wenn man will (TX Text Control), aber ein extern erzeugtes geht auch. Das RTF wird erst überarbeitet (Platzhalter einfach via StrTran ersetzen, die wir im TX als Menüelemente zur Verfügung stellen) und wird dann als RTF publiziert und in ein Formular eingebettet, bevorzugt als Tabellenelement (die Tabelle geht über die gesamte Seite), damit Seitenumbrüche funktionieren. Man kann, wenn man nur eine Seite anbieten möchte, auch ein Label-Projekt nutzen. Das exportieren wir als PDF für Rundmails oder drucken es halt. Wenn nicht innerhalb der Platzhalter Formatierungswechsel vorgenommen werden, funktioniert das verlässlich, und L&L übernimmt alle Formatierungen.

Das geht schon seit Jahren und Jahrzehnten so.

Re: Rundschreiben

Verfasst: Sa, 08. Jul 2023 13:17
von Manfred
Hi Tom,
ich hatte vergessen, oben müssen Grafiken rein.

Re: Rundschreiben

Verfasst: Sa, 08. Jul 2023 13:36
von Tom
In den Text oder ins Formular? Ist doch beides kein Problem.

Re: Rundschreiben

Verfasst: Sa, 08. Jul 2023 14:54
von Manfred
ich habe jetzt die Vorlage komplett in LibreOffice incl. Grafiken und Platzhaltern als RTF erstellt. Wie geht man denn jetzt weiter vor?

Re: Rundschreiben

Verfasst: Sa, 08. Jul 2023 16:02
von Jan
Hallo Manfred,

per FRead() einlesen, die Platzhalter mit StrTran() ersetzen, und wieder wegschreiben?

Jan

Re: Rundschreiben

Verfasst: Sa, 08. Jul 2023 16:05
von Manfred
Hi Jan,
die Frage bezog sich eigentlich auf das Weiterverarbeiten im Zusammenhang mit List&Label. Deshalb ja meine Frage hier....

Re: Rundschreiben

Verfasst: Sa, 08. Jul 2023 23:01
von Tom
Einlesen, überarbeiten, als RTF publizieren, entweder als Feld (Liste) oder als VaribleExt (Label). Feddisch.

Und wenn es an mehrere Adressaten geht: Das ganze in einer Schleife mehrfach.

Re: Rundschreiben

Verfasst: Fr, 28. Jul 2023 8:16
von Manfred
Einlesen-> ich denke mal mit der RTF Klasse von Alaska!?
überarbeiten-> ist klar, Platzhalter austauschen...
als RTF publizieren-> ???
entweder als Feld(Liste) oder als Variable(Label) -> ich würde jetzt eine Card erstellen und dann ein Textfeld einfügen und dort das fertige RTF platzieren.

Re: Rundschreiben

Verfasst: Fr, 28. Jul 2023 10:38
von Jan
Manfred,

XbpRtf() ist nur ein Editor mit RTF-Formatierungen. ich würde das einlesen über FRead() machen. Du willst ja den Text nicht manuell editieren, sondern den String an sich automatisiert manipulieren.

Jan

Re: Rundschreiben

Verfasst: Fr, 28. Jul 2023 10:43
von Tom
Hallo, Manfred.

RTF-Datei einlesen mit MemoRead, FileStr oder Low-Level-Funktionben - einfach den Dateiinhalt holen, ohne RTF-Klasse.
Platzhalter mit StrTran ersetzen - das funktioniert exzellent, solange es keine Formatierungswechsel innerhalb der Platzhalter gibt.
Feld oder Variable mit den Ext-Funktionen publizieren (DefineVariableExt/DefineFieldExt), da kann RTF als Typ angegeben werden und wird vom Projekt als solches erkannt (kann also als RTF platziert werden, wobei L&L die gesamte Formatierung erkennt).

Das ganze geht natürlich noch viel eleganter, weil Office-Zeug von L%L direkt genutzt werden kann. Aber so geht es auch.

Re: Rundschreiben

Verfasst: Fr, 28. Jul 2023 10:49
von Manfred
Hi Tom,
was meinst Du mit "Office Zeug"? Funktionen aus dem Office Paket? Das ist ein xb2net Server, der auf einem eigenständigen Server läuft. Da wäre kein Office Paket drauf.

Re: Rundschreiben

Verfasst: Fr, 28. Jul 2023 11:03
von Tom
Du kannst Office-Dokumente direkt und dynamisch in Projekten verwenden. Aber fang doch erstmal klein an. RTF ist robust und funktioniert gut.

Re: Rundschreiben

Verfasst: Fr, 28. Jul 2023 13:14
von Manfred
jaja, das habe ich ja auch die ganze Zeit vor gehabt. Klein anfangen. Deshalb dachte ich mir ja auch, das ich einen Text erstelle in L&L und dann die 1-2 Felder darin unterbringe und dann während des Drucks austausche. Ich habe nur noch nicht hingekommen, den Text richtig zu formatieren. Aber das müßte doch auch mit L&L gehen. Also wie eine kleine Textverarbeitung.... Das würde mir jetzt schon voll und ganz reichen für den Anfang.

Re: Rundschreiben

Verfasst: So, 30. Jul 2023 19:52
von Tom
Ich habe nur noch nicht hingekommen, den Text richtig zu formatieren. Aber das müßte doch auch mit L&L gehen. Also wie eine kleine Textverarbeitung.... Das würde mir jetzt schon voll und ganz reichen für den Anfang.
Du kannst beliebigen statischen Text oder Text, der über Felder oder Variablen kommt, in ein Projekt einfügen, aber Formatierungen wie Ausrichtung, Schriftart usw. sind dann nur immer für den ganzen Textblock möglich - genau so baut man ja komplexe Formulare. Den Text kannst Du auch aus Deiner Anwendung liefern und darin auch gleich die Platzhalter ersetzen, also bereits den überarbeiteten Text liefern - als reinen Text. Aber wenn Du RTF verwendest, können die Anwender den Text selbst bearbeiten und z.B. in Office beliebig formatieren. Du musst ihn nur einlesen, die Platzhalter ersetzen und das Ergebnis ans Projekt schicken. Wenn das Projekt ein Listenprojekt ist und aus einer Tabelle besteht, die die gesamte Seite einnimmt und nur eine Spalte hat, die keine Überschrift besitzt, und in dieser Spalte das als RTF publizierte Feld mit dem Text enthält, kann dieser Text auch beliebig lang sein - L&L würde ihn innerhalb der Tabelle umbrechen, also automatisch so viele Seiten verwenden wie nötig. Aber das Listenprojekt darf dann immer nur mit einer Fassung des Textes angesteuert werden, oder nach jedem Text erfolgt ein LLResetProjectState, dann kann man das auch in einer einzigen Preview für zig Adressaten machen. Und, und, und. Es gibt in L&L endlose Möglichkeiten.