XML-Script: Text konkatenieren ohne Zeichen dazwischen. Wie? Topic is solved

Post Reply
Gyngeb
Posts: 104
Joined: 10.02.2018, 12:35
Location: Langenau - in der Nähe von Ulm

XML-Script: Text konkatenieren ohne Zeichen dazwischen. Wie?

Post by Gyngeb » 03.05.2019, 16:39

Hallo zusammen,
ich möchte den Inhalt einer Variablen aus zwei Textteilen konkatenieren. Beide Teile sollen ohne ein Zwischenzeichen aneinandergefügt werden.
Bisher schaffe ich das leider nur mit einem Trenner dazwischen.
z.B.
<vr id="var1" text="Hallo"/>
<vr id="var2" text="Rocrailfans"/>
<vr id="var3" text="@var1 @var2"/>
Dies ergibt in var3: "Hallo Rocrailfans"
Ich benötige aber "HalloRocrailfans".
Geht das? Und wenn ja wie?
Merci für eure Tipps.
VG
Tom

JensH
Posts: 881
Joined: 30.07.2018, 18:59
Location: Dresden

Re: XML-Script: Text konkatenieren ohne Zeichen dazwischen. Wie?

Post by JensH » 03.05.2019, 17:11

Hallo Tom,
ähnliches war viewtopic.php?f=112&t=17436 auch schon Thema. Das wird es wohl nicht geben, leider.

Ähm - Langenau in der Nähe von Leipheim :lol: - für alle anderen: das ist da wo der Wanzl haust - für wieder die andern: da kommen die Einkaufswagen her.

Gyngeb
Posts: 104
Joined: 10.02.2018, 12:35
Location: Langenau - in der Nähe von Ulm

Re: XML-Script: Text konkatenieren ohne Zeichen dazwischen. Wie?

Post by Gyngeb » 03.05.2019, 17:31

Hallo Jens,
danke für deine Antwort.
Schade... Ich hatte es schon befürchtet.
Nun, dann muss ich meiner Benamsung noch einen "_" spendieren.
Viele Grüße
Tom

rjversluis
Site Admin
Posts: 42312
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: XML-Script: Text konkatenieren ohne Zeichen dazwischen. Wie?

Post by rjversluis » 04.05.2019, 07:33

Moin Tom, Jens,

wenn es oft benötigt wird könnte man der Variable beibringen bei Bedarf alle Blanks zu entsorgen...

Oder ein String Format Funktion im XMLScript bauen welche intern printf aufruft.

Code: Select all

<vr id="varfmt" format="%s%s%02d" text="@var1 @var2 #var3"/>

rjversluis
Site Admin
Posts: 42312
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: XML-Script: Text konkatenieren ohne Zeichen dazwischen. Wie?

Post by rjversluis » 04.05.2019, 10:29

Folgendes:

XMLScript:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<xmlscript>
  <vr id="var1" value="3" text="Hallo"/>
  <vr id="var2" value="5" text="Rocrailfans"/>
  <vr id="var3" format="%s%02d:%04d%s" text="@var1 #var1 #var2 @var2"/>
  <trace text="@var3"/>
</xmlscript>
Ausgabe:

Code: Select all

Hallo03:0005Rocrailfans
Ohne format würde der Ausgabe so aussehen:

Code: Select all

Hallo 3 5 Rocrailfans
So wie bei printf kann es zum Crash führen wenn der Format String nicht zum Variablen passt!
Wie man es formatieren kann, kann man im Internet nachschauen: https://en.wikipedia.org/wiki/Printf_format_string

Ab 15373.

Gyngeb
Posts: 104
Joined: 10.02.2018, 12:35
Location: Langenau - in der Nähe von Ulm

Re: XML-Script: Text konkatenieren ohne Zeichen dazwischen. Wie?

Post by Gyngeb » 04.05.2019, 12:04

Wow, das ist mal wieder ein toller Service à la Rob!
Ich werde es baldmöglichst ausprobieren.
Herzlichen Dank, Rob.

Hintergrund meines Wunsches:
Generische Behandlung von Objekten.
Viele meiner RR-Objekte haben relativ "technische" Namen wie zb. bk930, fb930, sg930, co930, sw120, sw122 etc.
Durch Trennung des "Objektstyps" (bk, fb, sw, etc) von der "Nummer", kann ich mich generisch an andere Objekte "hinrechnen".
Z.B. Zielwahl bei Drehscheibe mit eigenen Zusatzfunktionen (momentan in Arbeit)
oder Ermittlung einer Fahrstrasse durch Drücken von Start- und Zieltaste. Ähnlich wie dies Bernd aus Poing gemacht hat, möchte ich das auch mal realisieren.

btw:
Hatte ich eigentlich schon mal erwähnt, dass es mir großen Spass macht, mit Rocrail zu forschen, zu arbeiten und zu spielen?
Und hatte ich eigentlich schon mal erwähnt, dass ich dieses Forum und all die engagierten Forumsteilnehmer hier ganz große Klasse finde?
Nein?
Dann möchte ich dies hiermit tun und ein herzlichen Dankeschön an euch und insbesondere an Rob sagen.
VG
Tom

hermannk
Moderator
Posts: 1145
Joined: 06.07.2014, 12:32
Location: Kiel Germany

Re: XML-Script: Text konkatenieren ohne Zeichen dazwischen. Wie?

Post by hermannk » 04.05.2019, 13:49

Tom, Rob, :thumb_up: :thumb_up: :thumb_up:
Gruß
Hermann

JensH
Posts: 881
Joined: 30.07.2018, 18:59
Location: Dresden

Re: XML-Script: Text konkatenieren ohne Zeichen dazwischen. Wie?

Post by JensH » 05.05.2019, 07:51

Moin Rob,
habe es noch nicht probiert, aber trotzdem schon mal vielen Dank.

rjversluis
Site Admin
Posts: 42312
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: XML-Script: Text konkatenieren ohne Zeichen dazwischen. Wie?

Post by rjversluis » 05.05.2019, 13:51

Hallo,

ich habe es mal in ein paar Zeilen dokumentiert:
https://wiki.rocrail.net/doku.php?id=xm ... ble_format

JensH
Posts: 881
Joined: 30.07.2018, 18:59
Location: Dresden

Re: XML-Script: Text konkatenieren ohne Zeichen dazwischen. Wie?

Post by JensH » 05.05.2019, 16:13

Hallo Rob,
habe es getestet und so wie hier dargestellt, funktioniert es prima:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?><!--Textformatierung-->
<xmlscript>
<vr id="prefix" text="dbe-time-shift"/>

<vr id="var1" text="mftr"/>
<vr id="var2" text="findlen"/>

<vr id="mftr" format="%s-%s" text="@prefix @var1"/>
<vr id="findlen" format="%s-%s" text="@prefix @var2"/>

<vr id="@mftr" text="Test eines zugewiesenen Variablensamens mftr"/>
<vr id="@findlen" text="Test eines zugewiesenen Variablennamens findlen"/>
<trace text="@mftr"/>
<trace text="@findlen"/>
<exit cmt="reason"/>
</xmlscript>

Gyngeb
Posts: 104
Joined: 10.02.2018, 12:35
Location: Langenau - in der Nähe von Ulm

Re: XML-Script: Text konkatenieren ohne Zeichen dazwischen. Wie?

Post by Gyngeb » 05.05.2019, 18:15

Hallo zusammen,
ich habe es probiert und und bereits eingebaut. Es funktioniert einwandfrei.
Genau was ich wollte. Das erleichtert mir die Programmierung wesentlich.
Nochmals: Danke dafür.
Grüße
Tom

Post Reply

Return to “XMLScripting & Aktionen (DE)”