Wie gebe ich Daten aus der Listbox ein und übergebe sie?Hallo,
Ich möchte eine Liste von Parametern oder Variablen aus der Fensterebene bereitstellen (zB aus Excel kopiert) und diese Liste (zB durch Klicken auf OK) weitergeben, um eine weitere Liste für eine SQL-Abfrage zu erstellen. Kann ich das mit einer Art Listenfeld tun (etwa wie im Bild unten)? Welche anderen Methoden könnten dafür verwendet werden? Freundliche Grüße.

SkriptingBetreff: Wie gebe ich Daten aus der Listbox ein und übergebe sie?Ein paar Fragen/Ideen, um dich ins Rollen zu bringen:
- Möchten Sie, dass der Benutzer die interessanten Seriennummern aus einer vorab erstellten Liste auswählt? Sie könnten ein Listenfeld verwenden
- Möchten Sie, dass der Benutzer Seriennummern von irgendwoher kopieren und einfügen kann, die in eine SQL-Abfrage umgewandelt werden? Sie könnten das Textbearbeitungsfeld mit einer Parsing-Funktion verwenden.
- Eventuell beides von oben? Ich würde höchstwahrscheinlich versuchen, dies zu vermeiden, da der Benutzer beim Kopieren und Einfügen von Werten von irgendwoher die Auswahl bereits dort treffen kann, was er enthalten möchte.
- Möchten Sie Modal verwenden?
Überprüfen Sie den Scripting-Index auf: Modal (wie man ein modales Fenster erstellt), Listenfeld, Textbearbeitungsfeld, Concat Items (wie man JMP-Liste in String umwandelt)
Kurzes Beispiel mit Listenfeld, das den Textfeldwert unter die Schaltfläche OK setzt und ausgewählte Werte als Liste zum Protokollieren ausdruckt, wenn OK gedrückt wird:
Names Default To Here(1);
serialList = {"a1", "b2", "c3", "d4"};
win2 = New Window("Example",
V List Box(
lb = List Box(serialList, width(200), nlines(6)),
Button Box("OK", Show(lb << get selected); tb << Set Text(char(lb << get selected))),
tb = Text Box("");
)
);

Betreff: Wie gebe ich Daten aus der Listbox ein und weiter?Hallo,
danke für vorschläge. Ich möchte in der Lage sein, Seriennummern von irgendwoher zu kopieren und sie dann mit der Parsing-Funktion weiterzugeben, also die Option 2 und zusammen mit modalem Fenster. Ich werde es mit Text Edit Box versuchen.
Mit freundlichen Grüßen
Betreff: Wie gebe ich Daten aus der Listbox ein und übergebe sie?Unten ist ein Beispiel. Erstellen Sie eine Funktion (im Beispiel parsePaste), um die Eingabe zu verarbeiten und Änderungen vorzunehmen, die Sie möchten: Duplikate entfernen, Zeilenänderungen durch etwas ersetzen, doppelte Trennzeichen entfernen ... Nachdem Sie OK gedrückt haben, wird eine Zeichenfolge zurückgegeben, und Sie können die zurückgegebene Zeichenfolge so ändern, dass sie in Ihre SQL passt (Words() und Concat Items() als Beispiele).
Names Default To Here(1);
parsePaste = function({tempStr}, {Default Local},
tempStr = Regex(tempStr, "\r\n", ",", GLOBALREPLACE); //replace row changes with ,
tempStr = Substitute(tempStr, ",,", ","); //replace double ,, with one ,
tempStr = Regex(tempStr, ",$", "", GLOBALREPLACE); //remove , if last character
return(tempStr);
);
win2 = New Window("Example", << Modal,
V List Box(
Text Box("Add Serialnumbers:"),
teb = Text Edit Box("", << set width(200), << set nlines(3),
<< Set Function(Function({this},
this << set text(parsePaste(this << get text));
))
),
H List Box(
Button Box("OK", listStr = teb << get text),
Button Box("Cancel")
)
)
);
show(listStr);
temp = Words(listStr, ",");
temp = "'" || Concat Items(temp, "','") ||"'";
show(temp);