Variablen, Listen und Dateien (newList, addElement)

Post your questions and help other users.

Moderator: Martin

Post Reply
MiDaS
Posts: 30
Joined: 13 Jan 2016 17:26

Variablen, Listen und Dateien (newList, addElement)

Post by MiDaS » 20 Apr 2017 13:09

Hallo,

brauche mal eure Unterstützung beim Umgang mit Variablen und Listen.
Über
var=getText(Feldname)
hole ich mir bestimmte Daten aus einer anderen App.
Mit
Liste = newList(); und addElement(Liste,"{var}")
füge ich jeweils Variablen der Liste zu.
Wenn ich jetzt die Liste mittel
setText2ById ("Feldname","{Liste} und freier Text")
in ein Feld einfüge, dann werden die Werte aus der Liste in [] gesetzt.
[Wert1, Wert2, Wert3] und freier Text
Wie kann ich die Klammern verhindern bzw. entfernen?
replaceAll funktionert hier nicht.

Kann man diese Liste auch als Datei speichern. z.B. Text Datei?
Wie funktionert ein Abgleich mit so einer Liste

if Var in Liste, dann tue das?
Sind die erstellten Listen über mehrere Flows nutzbar bzw. werde diese gespeichert wie
global_variablen?

Bin noch nicht so vertraut mit den Listen und bräuchte da eure Hilfe.
Danke vorab.
MiDaS

User avatar
Martin
Posts: 4468
Joined: 09 Nov 2012 14:23

Re: Variablen, Listen und Dateien (newList, addElement)

Post by Martin » 21 Apr 2017 20:36

Hi

Du kannst Werte auch in eine Liste einfügen, ohne den Wert in einem String zu ersetzen:
var=getText(Feldname);
Liste = newList();
addElement(Liste, var); anstelle von addElement(Liste,"{var}");

Wenn eine Liste ohne weitere Angaben in einen String umgewandelt wird (z.B. "{Liste} und freier Text", wird die Liste wie folgt dargestellt: [Element1, Element2, Element3]
Wenn du die Werte als kommaseparierte Liste darstellen willst, kannst du folgende Syntax verwenden:
setText2ById ("Feldname","{Liste,listformat,comma} und freier Text");

Du kannst eine Liste auch in eine Datei schreiben:
-Action In Datei Schreiben: {Liste,listformat,comma} in Datei.txt

Wenn du die Liste speichern willst und später auch wieder aus der Textdatei auslesen willst, könntest du auch das JSON Format verwenden:
-Action Script: Liste = newList(1, 2, 3, 4);
-Action In Datei schreiben: {Liste,jsonformat} in Datei.txt

Einlesen:
-Action Initialisiere Variable Text Datei: Datei.txt in file_text
-Action Liste2 = fromJSON(file_text);

Du kannst Listen auch einer globalen Variable zuweisen und in einem anderen Flow verwenden.

Freundliche Grüsse
Martin

MiDaS
Posts: 30
Joined: 13 Jan 2016 17:26

Re: Variablen, Listen und Dateien (newList, addElement)

Post by MiDaS » 25 Apr 2017 14:38

Danke Martin,

das mit der Liste hat soweit geklappt.
Leider ist die Aufzählung jetzt ohne Leerzeichen nach dem Komma.
Auch nicht optimal.
Vorher
[Name1, Name2, Name2] und freier Text
Also mit Leerzeichen nach dem Komma
jetzt
Name1,Name2,Name3 und freier Text
also ohne Leerzeichen
Habe bei addElement(Name,"{Name} " mal ein Leezeichen ergänzt.
Dann wird aber jetzt in der Liste
"Name1 ","Name2 ","Name3 " ausgegeben. Auch nicht, das was ich wollte.

Also Zielausgabe für
setText2ById ("Feldname","{Liste,listformat,comma} und freier Text");
ist Name1, Name2, Name2 und freier Text
Mit Leerzeichen. Wie machbar?

Danke vielmals

User avatar
Martin
Posts: 4468
Joined: 09 Nov 2012 14:23

Re: Variablen, Listen und Dateien (newList, addElement)

Post by Martin » 26 Apr 2017 19:41

Du kannst die Werte einer Liste auch mit der join-Funktion in einen Text umwandeln:

Code: Select all

setText2ById ("Feldname", join(Liste, ", ") + " und freier Text");
Du könntest die Liste auch "inline" formatieren. Allerdings muss man dann einfache Anführungszeichen verwenden oder die Anführungszeichen mit Backslash escapen:

Code: Select all

setText2ById ("Feldname", "{join(Liste, \", \")} und freier Text");
oder:
setText2ById ("Feldname", "{join(Liste, ', ')} und freier Text");
Freundliche Grüsse
Martin

MiDaS
Posts: 30
Joined: 13 Jan 2016 17:26

Re: Variablen, Listen und Dateien (newList, addElement)

Post by MiDaS » 28 Apr 2017 13:37

Hallo Martin,

danke dir.
setText2ById ("Feldname", join(Liste, ", ") + " und freier Text");
Das hat dann die gewünschten Ergebnisse geliefert.

Das mit der Liste als global Variable funktioniert prima und man kann sie dann auch ganz einfach manuell bearbeiten. Prima.

Jetzt muss mal noch an der Auswertung der Liste arbeiten.
result = containsElement(Liste, "Name")

Hoffe damit bekomme ich dann die gewünschten Ergebnisse

Kann mich ja wieder melden, wenn ich Hilfe brauche :D

Gruß MiDaS

Post Reply