Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi ekRTF: eine Variable in der Vorlage anhängen (https://www.delphipraxis.net/57439-ekrtf-eine-variable-der-vorlage-anhaengen.html)

Victore 21. Nov 2005 13:40


ekRTF: eine Variable in der Vorlage anhängen
 
Hallo, wie der Titel schon sagt,

wüsste ich gern, wie ich meiner RTF-Vorlage eine Variable hinzufügen und ausrichten kann.

Bsp: soll ungefähr so aussehen:


\Var1\

__________________________________________________ __


\Var2\

__________________________________________________ __


...

Var1 und Var2 sollten zentriert sein.
die länge variiert natürlich, je nachdem wieviele Variablen ich im Programm erzeuge.


Kann jemand helfen?

Jelly 21. Nov 2005 14:18

Re: ekRTF: eine Variable in der Vorlage anhängen
 
In dem du in deiner RTF Vorlage die Zeilen mit \var1\ und \var2\ zentrierst, z.B. mit Word.

Oder versteh ich dein Problem falsch ?

Victore 21. Nov 2005 14:28

Re: ekRTF: eine Variable in der Vorlage anhängen
 
Ja, du verstehst es falsch.

\var2\ soll während der laufzeit kreiert werden und steht nicht vorher schon in der Vorlage!!

Jelly 21. Nov 2005 14:34

Re: ekRTF: eine Variable in der Vorlage anhängen
 
Was hindert dich denn daran, die Variable trotzdem ins Template zu schreiben, und den Inhalt eben leer zu lassen? Erklär doch mal genauer, was du mit ekrtf lösen willst.

Victore 21. Nov 2005 14:48

Re: ekRTF: eine Variable in der Vorlage anhängen
 
Ich arbeite an einem Programm, bei dem man Ware einkauft. In unserem Fall Fenster.

Ich suche das Fenster per Klick auf das dazugehörige Bild aus. Gebe dann die Maße ein und es wird ein Preis ausgerechnet.
Das Bild (brauche später auch noch ein bisschen Hilfe, da auf eine Function zugegriffen wird; aber das später...), der Preis, Position und Maße kommen dann in den "Warenkorb", sprich wird in die RTF-Datei geschrieben. Die Vorlage enthält für jede Information eine Variable (\Var1\, \Maße1\, \Endpreis1\...).

Nun kauft der Kunde aber NOCH ein Fenster. Das Problem ist, dass ich nicht weiß, wie ich die Daten des zweiten Fensters in dasselbe Dokument ANHÄNGE!! Denn: es existiert in der Vorlage ja keine \Var2\, \Maße2\, \Endpreis2\

Kann ich die aus Delphi heraus erstellen??

Der GANZE Einkauf soll in EINER RTF-Datei landen! :gruebel:

Jelly 21. Nov 2005 14:55

Re: ekRTF: eine Variable in der Vorlage anhängen
 
Das kannst du ganz elegant mit \scan(a)\ und \endscan\ abhandeln in den ekRTF Templates. Als Datenbasis dient dann ein Dataset aus Delphi heraus, und der gesamte Block zwischen scan und endscan wird für jeden Datensatz durchlaufen... Kuck Dir mal die Helpfile zu EkRTF an, da sind Beispiele drin.

Victore 21. Nov 2005 15:37

Re: ekRTF: eine Variable in der Vorlage anhängen
 
Hört sich leichter an, als es ist.
Das Beispiel http://ekrtf.code.net.ru/help/cframe.html (Var (new variable))
ist relativ kompliziert beschrieben.
Könntest du mir ein Beispiel mit "Position" schreiben? Bin ein Anfänger im Programmieren.
Die Variable "Position" nimmt um eins zu bei jedem durchlauf.

Jelly 21. Nov 2005 16:46

Re: ekRTF: eine Variable in der Vorlage anhängen
 
Da gibts doch Beispiele auf der Seite.

Victore 23. Nov 2005 09:10

Re: ekRTF: eine Variable in der Vorlage anhängen
 
Klar gibts da Beispiele. Nur keines, das auf mein Problem eine Lösung bietet :(

Was zum Henker bedeutet das hier? Die anderen Beispiele raff ich ja noch, aber folgendes, was für mich nützlich wäre...
Kann mir das bitte jemand erklären?


VAR function

VAR(VAR1, ... , VAR N) - creates variables VAR1, ... VAR N if they don't exist.

Initial value for each new created variable is empty string. If report variable exists, it is not changed in any way. When you use declared variable with UDF, you may need to init its value by your own code.

Example:

\scan(a), var(totsal), my_init_function(totsal)\
-----------------------------
\scan(b), my_sum_function(b:field1,totsal)\
\b:number\ \b:field1\
\endscan\
total: \totsal\
\endscan\


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:19 Uhr.

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