Anwenderaustausch zur PhraseExpress Makroprogrammierung
-
Praia
- Posts: 82
- Joined: 01 Apr 14, 01:06
Post
by Praia » 16 Aug 20, 22:53
Moin zusammen,
hat jemand eine Idee wie ich die eingegebenen Werte in solch einer Form in variablen speichen kann?
Das klappt schon mal nicht so.
Code: Select all
{#forminput -type 0 -items Straße|Nummer -vals | -rowlabels Haupt|Alternativ -rowenum {#asc 13 -variablename New line} -enum , -lastenum and }
---Output---
{#gettemp $cus1}
{#gettemp $cus2}
{#gettemp $in1}
{#gettemp $in2}
Hintergrund:
Diese Form ist eigentlich genau was ich brauche und da man die nicht so nachstellen kann würd ich die gerne nutzen um dem Nutzer die Eingabe zu erleichtern und nicht zig boxen untereinander zu haben.
Gruß
-
Peter Stotz
- PhraseExpress Expert
- Posts: 920
- Joined: 27 Feb 08, 15:07
Post
by Peter Stotz » 17 Aug 20, 17:37
Hi, Praia,
wenn mehrere Lieferadressen, Telefonnummern, Ansprechpartner usw. vom Anwender angegeben werden sollen,
kann man das Eingabeformular in der vorgeschlagen Form schon nutzen, muss dann aber die Datenzeilen 'vereinzeln' z.B. so:
Code: Select all
(* 20200817 • Beispiel: Mehrere Lieferadressen mit Straße und Nummer •
Anwendereingabe
*){#settemp -name ##Adressblock -content {#forminput -text Lieferadressen -type 0 -items Straße|Nummer -vals | -rowlabels Lieferadresse1|Lieferadresse2|Lieferadresse3 -rowemptyvals {#ASC 32}{#ASC 9}{#ASC 32}|{#ASC 32}{#ASC 9}{#ASC 32}|{#ASC 32}{#ASC 9}{#ASC 32} -rowenum {#ASC 13} -enum {#ASC 9} -lastenum {#ASC 9}}}(*
Schleife
*){#settemp -name ##counter -content 0}(*
*){#loop {#settemp -name ##counter -content {#calc {#gettemp ##counter}+1 -round 0}}(*
Laufende Adresszeile
*){#settemp -name ##Adresszeile -content {#trim {#substr {#gettemp ##Adressblock} -from 1 -count {#pos {#gettemp ##Adressblock}{#ASC 13} -substr {#ASC 13}}}}}(*
Straße und Nummer der laufenden Adresszeie
*){#settemp -name ##Adresse{#gettemp ##counter} -content {#trim {#substr {#gettemp ##Adresszeile} -from 1 -count {#pos {#gettemp ##Adresszeile} -substr {#ASC 9}}}}}(*
*){#settemp -name ##Adresse{#gettemp ##counter}# -content {#trim {#substr {#gettemp ##Adresszeile} -from {#pos {#gettemp ##Adresszeile} -substr {#ASC 9}}}}}(*
Adressblock: laufende Adresszeile entfernen
*){#settemp -name ##Adressblock -content {#substr {#gettemp ##Adressblock} -from {#calc 1+{#pos {#gettemp ##Adressblock}{#ASC 13} -substr {#ASC 13}} -round 0} -count }}(*
Schleifenende
*) -count {#length {#regexget -text {#gettemp ##Adressblock}{#asc 13} -expr \R -findall -delim }}}(*
Ergebnisausgabe
*)>{#gettemp ##Adresse1}<>{#gettemp ##Adresse1#}<
>{#gettemp ##Adresse2}<>{#gettemp ##Adresse2#}<
>{#gettemp ##Adresse3}<>{#gettemp ##Adresse3#}<
Peter
Windows 10 PhraseExpress v15.0.62-Beta
-
Praia
- Posts: 82
- Joined: 01 Apr 14, 01:06
Post
by Praia » 21 Aug 20, 06:16
Hi Peter,
das is ja klasse. Genau was ich brauce. SUPER. Danke.