0

Mehrfachauswahlfeld mit String befallen

Ein String im Format

let data := "1, 2, 3, 4"

soll zum Befüllen eines Mehrfachauswahlfeldes (hier bspw. Berechtigungen) verwendet werden. Mir fiel als Skript nur die Lösung

let my_array := [0];
for i in split(data, ", ") do
    my_array := array(my_array, [number(i)])
end;
Berechtigungen := my_array;

ein.

Kennt jemand noch eine bessere? Danke vorab.

 

VG Ralf

4 Antworten

null
    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Um die Schleife kommst nicht herum (m.W). Aber vielleicht ein Zwischenschritt kürzer. Mirko

    Berechtigungen := for i in split(data, ", ") do
            number(i)
        end
    
      • Icarus_Ralf_Becker
      • vor 1 Jahr
      • Gemeldet - anzeigen

       in meinen Tests hatte dieser Ansatz nicht funktioniert, weil bei jedem Durchlauf die Option i zwar gesetzt werden, die Optionen der vorherigen Durchläufe wieder abgewählt wurden. Statt Option 1, 2 und 3 gleichzeitig wurden die Optionen nacheinander angewählt und am Ende stand nur Option 3 da.

      • mirko3
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Nun, im Grunde sollte der obige Code erst das Array erstellen und dann zuweisen. Das Resultat der Schleife ist ja ein Array. Hast Du zufällig die Zuweisung in der Schleife stehen gehabt? Dann gibt es exakt Dein  unrichtiges Ergebnis. In einer fix nachgestellten Tabelle funktioniert es bei mir. Gibt es noch Code, den Du nicht gepostet hast? Mirko

      • Icarus_Ralf_Becker
      • vor 1 Jahr
      • Gemeldet - anzeigen

       und du hast natürlich völlig recht. Vielen Dank. So ist es perfekt.