Support

Forum

Forum

Anmeldung

Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich anzumelden.

if Anweisung im RichText-Editor

halousi
Amateur
Themenersteller
Verfasst am: 03.05.2011 [09:08]
Hallo,

ich würde gerne die Adresse für die Rechnungen anpassen, da wir im Rechnungsformular den Ansprechpartner nicht in der Adresse sondern an einem anderen Ort der Vorlage stehen haben möchten.

Dazu haben ich mir im RichText-Editor folgende Felder zusammengestellt:

<dbtext>M_ADDRESS</dbtext>
<dbtext>M_NAME2</dbtext> <dbtext>M_NAME1</dbtext>
<dbtext>M_NAME3</dbtext>
<dbtext>M_STREET</dbtext>
<dbtext>M_COUNTRYC</dbtext>-<dbtext>M_ZIPCODE</dbtext> <dbtext>M_CITY</dbtext>
<dbtext>M_COUNTRY</dbtext>

Das Problem ist nun, wenn z.B. "M_Name2" nicht vorhanden ist, dann wird trotzdem eine Leerzeichen vor "M_NAME1" ausgegeben, ebenso bleibt die Zeile "M_Name2" leer. Kann ich da noch irgendwie eine "if"-Abfrage einbauen?

LG Hannes Der Zug fährt nur so schnell weil der Heizer so schwitzt!
Wiggum
orgaMAX-Team
Verfasst am: 05.05.2011 [13:23]
Hallo halousi,

es gibt zwar mit Sicherheit noch eine schönere Lösung, ad hoc würde mir aber einfallen:

Erstelle ein Memofeld und setze dies an die Stelle für die Anschrift.
Wenn Du das Element markiert hast, siehst Du links unten die Bezeichnung, in diesem Fall "Memo1".
Lege nun eine Variable an, öffne die Berechnung über einen Rechtsklick und füge dort folgendes ein:

Memo1.Lines.Add(AVX['M_ADDRESS']);
if length(AVX['M_NAME2']) > 0 then Memo1.Lines.Add(AVX['M_NAME2'] + ' ' + AVX['M_NAME1']);
if length(AVX['M_NAME2']) = 0 then Memo1.Lines.Add(AVX['M_NAME1']);
Memo1.Lines.Add(AVX['M_STREET']);
Memo1.Lines.Add(AVX['M_COUNTRYC'] + ' ' + AVX['M_ZIPCODE']);
Memo1.Lines.Add(AVX['M_CITY']);
Memo1.Lines.Add(AVX['M_COUNTRY']);

Darin wird abgefragt, ob in dem Feld NAME2 etwas eingetragen ist, oder nicht.
Je nachdem wird eine andere Zeile gebildet und eingeblendet.



[Dieser Beitrag wurde 3mal bearbeitet, zuletzt am 05.05.2011 um 13:34.]Bitte keine Anfragen per privater Nachricht stellen, da ich diese nicht zeitnah bearbeiten kann.
halousi
Amateur
Themenersteller
Verfasst am: 11.05.2011 [16:27]
Hallo Wiggum,

danke für die Antwort.
Funktioniert auch fast gut icon_smile.gif
Leider wird die Adresse jetzt ständig dupliziert. Also wenn ich das Memo-Feld aufziehe bekommer ich die Adresse x-mal untereinander. Der Zug fährt nur so schnell weil der Heizer so schwitzt!
MuSy_K
orgaMAX-Team
Verfasst am: 12.05.2011 [08:33]
ja auch das ist kein Problem:

da muss nur vorher das Feld wieder geleert werden:

Verusche bitte folgendes:
Memo1.Text := '';
Memo1.Lines.Add(AVX['M_ADDRESS']);
if length(AVX['M_NAME2']) > 0 then Memo1.Lines.Add(AVX['M_NAME2'] + ' ' + AVX['M_NAME1']);
if length(AVX['M_NAME2']) = 0 then Memo1.Lines.Add(AVX['M_NAME1']);
Memo1.Lines.Add(AVX['M_STREET']);
Memo1.Lines.Add(AVX['M_COUNTRYC'] + ' ' + AVX['M_ZIPCODE']);
Memo1.Lines.Add(AVX['M_CITY']);
Memo1.Lines.Add(AVX['M_COUNTRY']);
» So gimme fuel » Gimme fire » Gimme that which I desire

http://www.ktimestamp.com
Dein praktischer Textbaustein Assistent
SwissTeam
orgaMAX-Team
Verfasst am: 12.05.2011 [15:54]
oder ebenfalls:
Memo1.lines.clear;
Damit kann die Adresse gleich bei der 1 Zeile beginnen!
halousi
Amateur
Themenersteller
Verfasst am: 12.05.2011 [17:13]
Perfekt, DANKE !

Komplett sieht es dann so aus:

Memo1.Lines.clear;
if length(AVX['M_ADDRESS']) > 0 then Memo1.Lines.Add(AVX['M_ADDRESS']);
if length(AVX['M_NAME2']) > 0 then Memo1.Lines.Add(AVX['M_NAME2'] + ' ' + AVX['M_NAME1']);
if length(AVX['M_NAME2']) = 0 then Memo1.Lines.Add(AVX['M_NAME1']);
if length(AVX['M_NAME3']) > 0 then Memo1.Lines.Add(AVX['M_NAME3']);
Memo1.Lines.Add(AVX['M_STREET']);
Memo1.Lines.Add(AVX['M_COUNTRYC'] + '-' + AVX['M_ZIPCODE'] + ' ' + AVX['M_CITY']);
Memo1.Lines.Add(AVX['M_COUNTRY']); Der Zug fährt nur so schnell weil der Heizer so schwitzt!

orgaMAX Forum hat 4511 registrierte Benutzer, 5441 Themen und 17945 Antworten.
Es werden durchschnittlich 6.25 Beiträge pro Tag erstellt.

Zur Zeit sind 0 Benutzer online, davon 0 registrierte Benutzer.
Heute waren bereits 3 registrierte Benutzer online.

SUPPORT HOTLINE

Wir sind für Sie da!

+49 (0) 5231 7090-0

Montag - Freitag
8:00 - 12:00 und 13:00 - 18:00 Uhr